Краткая версия вопроса:
Как я могу использовать ddply для суммирования моего кадра данных, сгруппированного по нескольким переменным?
В настоящее время я использую этот код для суммирования по условию:
ddply(ExampleData, .(Condition), summarize, Average=mean(Var1, na.rm=TRUE), SD=sd(Var1),N=length(Var1), Med =median(Var1))
Как настроить код для суммирования по двум переменным (условие и блок)?
Желаемый формат вывода что-то вроде:
Condition Block Average SD N Med
1 A 1 0.50 .. .. ..
2 A 2 0.80 .. .. ..
3 B 1 0.90 .. .. ..
4 B 2 0.75 .. .. ..
====
Более длинная версия вопроса с примерами данных.
Dataframe:
ExampleData <- structure(list(Condition = c("A", "A", "A", "B", "B", "B"), Block = c(1,
2, 1, 2, 1, 2), Var1= c(0.6, 0.8, 0.4, 1, 0.9, 0.5)), row.names = c(NA,
6L), class = "data.frame")
, что:
Condition Block Average SD N Med
1 A 1 0.6
2 A 2 0.8
3 A 1 0.4
4 B 2 1.0
5 B 1 0.9
6 B 2 0.5
Я понимаю, что есть альтернативные способы получения сводки, но для моего обучения было бы хорошо, если бы я понял, как настроить функцию, которая у меня есть.
Мне просто не удалось заставить его работать, и я не смог найти пример, чтобы помочь мне здесь на stackoverflow. Я ищу что-то вроде:
ddply(ExampleData, .c(Condition,Block), summarize, Average=mean(Var1, na.rm=TRUE), SD=sd(Var1),N=length(Var1), Med =median(Var1))
(или. (Условие * Блок) или список (Условие, Блок) или ... ??)