如何在R中使用plyr获得分组均值而不是整体均值

时间:2015-10-07 07:36:11

标签: r

我获得了数据集的总体平均值,而我希望每个repName

这是一个数据集示例

repName divergence
L2a 0.013
L2a 0.114
L2a 0.294
L2a 0.338
L2b 0.284
L2b 0.306
MIR 0.282
MIR 0.242
MIR 0.181
MIR3    0.235
MIR3    0.23
MIR3    0.346
MIR3    0.331
MIR3    0.279
MIR3    0.303
MIR3    0.095

这是我想要的数据集

repName divergence
L2a 0.18975
MIR3    0.259857143
L2b 0.295
MIR 0.235

这是我对代码的尝试

library(dplyr)
GroupedTableProportion <- mydiv %>% group_by(repName) %>% summarise(divergence)

但这只是给了我

mean(divergence)
0.1887634

2 个答案:

答案 0 :(得分:1)

您需要告诉summarise该做什么

mydiv %>% group_by(repName) %>% summarise(mean(divergence))

答案 1 :(得分:0)

其他选项包括基础R的aggregate

aggregate(divergence~repName, mydiv, mean)

或使用data.table

library(data.table)
setDT(mydiv)[, list(divergence=mean(divergence)), by = repName]