【发布时间】:2014-02-27 19:50:19
【问题描述】:
给定数据框(df)
Hup Hop testA testB
Y Hi 1 1
N Lo 2 2
Y Mi 3 3
N No 4 4
Y Hi 5 5
N Lo 6 6
Y Mi 7 7
N No 8 8
Y Hi 9 9
N Lo 10 10
Y Mi 11 11
N No 12 12
我想要分组变量 Hup 和 Hop 的 testA 和 testB 的描述性统计数据(平均值和标准差)。我想要这样的东西。
hup testA.mean testA.sd testB.mean testB.sd
y 7 3.742 7 3.742
n 6 3.742 6 3.742
hop testA.mean testA.sd testB.mean testB.sd
hi etc Etc etc Etc
lo etc Etc etc Etc
mi etc Etc etc Etc
使用例如ddply(df,~hup,summarise,mean=round(mean(testA),3),sd=round(sd(testA),3)) 可以解决部分问题。但我想加快进程:学习如何使用 R。所以,我想:
lapply(df[ , c("testA", "testB")], function(x){ ddply(df, ~df[ , c("hup")], function(x) {mean(x)} )})
这不起作用,它返回 NA,错过 SD 并仅报告 hup 的结果。
问:如何为具有多个变量的多个组生成描述性统计数据?
【问题讨论】:
-
查看
aggregate(testA~Hup+Hop, df, mean)
标签: r