从我的data.frame创建一个汇总表

时间:2017-01-15 14:42:16

标签: r statistics

我有以下data.frame,这些是国家发生的恐怖事件,只有一个国家可以有200行:

Classes ‘data.table’ and 'data.frame':  80999 obs. of  3 variables:
 $ country_txt.factor: Factor w/ 166 levels "Afghanistan",..: 102 102 65 79 131 65 79 150 135 135 ...
 $ nkill             : num  0 0 1 0 6 0 0 0 0 0 ...
 $ nwound            : num  7 7 2 1 10 0 0 0 1 0 ...

我想创建一个新的data.frame / table,我可以在这里做一个总结:

Country    Number of kills(sum)   Number of wounds (sum)
Iraq       14000                  150000
Afghanistan 10000                 8888
.
.
.

你能帮帮我,我怎么能这样做?

2 个答案:

答案 0 :(得分:2)

您可以对两个变量使用聚合函数,并在sum参数中使用FUN

summaryDf <- aggregate( data = df , cbind(nkill, nwound) ~ country_txt.factor, FUN = sum)

答案 1 :(得分:1)

我们可以通过&#39; country_txt.factor&#39;进行分组。并循环其他列以获取sum

中的data.table
library(data.table)
dt[, lapply(.SD, sum) , country_txt.factor]