2012-06-11 177 views
0

我有一个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))) 

,但我似乎无法强制输出到一个适当的数据帧。我不能完全理解使用该功能。

回答

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

或者

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

谢谢!我不知道“聚合”。 – MattLBeck