Это, наверное, глупый вопрос, но я прочитал главу Кроули о данных и просмотрел Интернет и еще ничего не смог сделать.Подведение строк на основе конкретных комбинаций факторов
Вот пример набора данных похож на мой:
> data<-data.frame(site=c("A","A","A","A","B","B"), plant=c("buttercup","buttercup",
"buttercup","rose","buttercup","rose"), treatment=c(1,1,2,1,1,1),
plant_numb=c(1,1,2,1,1,2), fruits=c(1,2,1,4,3,2),seeds=c(45,67,32,43,13,25))
> data
site plant treatment plant_numb fruits seeds
1 A buttercup 1 1 1 45
2 A buttercup 1 1 2 67
3 A buttercup 2 2 1 32
4 A rose 1 1 4 43
5 B buttercup 1 1 3 13
6 B rose 1 2 2 25
То, что я хотел бы сделать, это создать сценарий, в котором «семена» и «плоды» суммируются всякий раз, когда уникальный сайт & завод & лечение & комбинации plant_numb существовать. В идеале, это привело бы к сокращению рядов, но сохранение исходных столбцов (т.е. мне нужно в приведенном выше примере, чтобы выглядеть следующим образом :)
site plant treatment plant_numb fruits seeds
1 A buttercup 1 1 3 112
2 A buttercup 2 2 1 32
3 A rose 1 1 4 43
4 B buttercup 1 1 3 13
5 B rose 1 2 2 25
Этот пример довольно простой (мой набор данных ~ 5000 строк), и хотя здесь вы видите только две строки, которые необходимо суммировать, количество строк, которые нужно суммировать, варьируется и варьируется от 1 до ~ 45.
Я пробовал rowum() и tapply() с довольно мрачными результатами до сих пор (ошибки говорят мне, что эти функции не имеют смысла для факторов), поэтому, если бы вы могли даже указать мне в правильном направлении, я был бы очень признателен!
Большое спасибо!
смотреть на 'plyr' и' data.table'. В основном это касается большинства вопросов. Удачи! – Chase
См. Также http://4dpiecharts.com/2011/12/16/a-quick-primer-on-split-apply-combine-problems/ –