我有以下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
.
.
.
你能帮帮我,我怎么能这样做?
答案 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]