可能重复:
聚合R总和
我有一个如下所示的数据框:
  sample value
1      a     1
2      a     2
3      b     3
4      b     4
5      b     5
6      c     6
我需要在数据帧上折叠sample(可能是一个字符向量或一个因子),添加所有values,所以我得到的结果数据框如下所示:
  sample sum
1      a   3
2      b  12
3      c   6
现在是周一早上,我能想到的只是写一个复杂的for循环.我如何使用apply,plyr等来对此进行矢量化?
如果您不想加载包:
df <- read.table(text="  sample value
1      a     1
2      a     2
3      b     3
4      b     4
5      b     5
6      c     6",header=TRUE)
aggregate(df$value,by=list(sample=df$sample),sum)
  sample  x
1      a  3
2      b 12
3      c  6
或者,如果您更喜欢公式语法:
aggregate(value ~ sample, df, sum)
  sample value
1      a     3
2      b    12
3      c     6