Петли для сортировки данных в R

Возможный Дубликат:
разделение dataframe в многократные выходные файлы в r

Я нуждаюсь в помощи в создании петли в R, который поможет мне подмножество мой файл основных данных в отдельные файлы CSV. Мой основной файл похож на это:

Основной набор данных

colA= c("A", "A", "A", "B", "B", "B",  "C", "C", "C")
colB= c(1.1,2.1,3.1,4.1,5.1,6.1,7.1,8.1,9.1)
colC= c(-1.2,-2.1,-3.1,-4.1,-5.1,-6.1,-7.1,-8.1,-9.1)
df= data.frame (spp=colA, latitude=colB, longitude=colC)
df

Мне нужна продукция, чтобы иметь только данные для каждой разновидности в отдельном файле CSV, таким образом, они похожи на это:

для разновидностей “A” …

colA= c("A", "A", "A")
colB= c(1.1,2.1,3.1)  
colC= c(-1.2,-2.1,-3.1,)
df2= data.frame (spp=colA, latitude=colB, longitude=colC)
write.csv (df2, file= “spA.csv”)

Тот же самый формат, но в separtate файле для разновидностей “B” и "C"

Было бы легко сделать это для одной или двух разновидностей, но у моей основной матрицы есть более чем 400 разновидностей в ней. Кто-либо может предложить, как написать петлю, которая помогает подмножеству мои данные на основе разновидностей? Спасибо

Израиль

0
nl ja de
Похож на @BenBarnes, помогает, но вы, вероятно, получаете лучший ответ, если можно сделать пример более восстанавливаемым (как использование голова (dput (yourdf)) , чтобы дать нам данные в качестве примера).
добавлено автор Gregor, источник

1 ответы

Что-то как

for(species in unique(masterData$colA)) {
    this_file <- paste0(species, ".csv")   
    write.csv(x = masterData[masterData$colA == species, ], file = this_file)
}
2
добавлено
@user2020652 Shouldn' t быть проблемой. Попробуйте его и посмотрите.
добавлено автор Gregor, источник
Спасибо. Это, кажется, работает с испытательным набором данных. Я попробую еще раз завтра с реальными данными и надеяться, что они продолжают работать. Аплодисменты.
добавлено автор I Del Toro, источник
P.S. Что происходит, если я хочу сортировать наблюдения на основе широты в порядке убывания и опустить отсутствующие значения и NAs в той же самой петле прежде, чем написать файл CSV?
добавлено автор I Del Toro, источник