转换冗余频率的数据帧

时间:2012-06-11 11:46:36

标签: r lapply

我有一个像这样的data.frame:

category count
A        11
B        1
C        45
A        1003
D        20
B        207
E        634
E        40
A        42
A        7
B        44
B        12

每一行代表一个具有类别类型和该元素计数的特定元素。我想生成每个类别的计数频率分布,但目前这些类别是多余的。

如何检索冗余类别计数表?即我想要一张看起来像的表:

category count
A        11234
B        4005
C        100023
D        65567
E        54654
...      ...

我几乎是在使用lapply:

df.nrcounts <- lapply(unique(df.counts$category), 
  function(x) c(category=x, count=sum(subset(df.counts, category==x)$count)))

但我似乎无法将输出强制转换为正确的数据帧。我无法完全理解这个功能。

1 个答案:

答案 0 :(得分:2)

aggregate(df.counts$count,by=list(df.counts$category),FUN=sum)

或者

library(data.table)
setDT(df.counts)[, list(count=sum(count)), by = category]