我想要与R 中使用 data.table 汇总多个列但对于几个汇总函数相同的结果。
这是一个例子
data <- as.data.table(list(x1 = runif(200), x2 = 10*runif(200), group = factor(sample(letters[1:2]))))
res <- data[, rbindlist(lapply(.SD, function(x) {
return(list(name = "varname", mean = mean(x), sd = sd(x)))
}))
, by = group, .SDcols = c("x1", "x2")
]
并得到以下结果:
group name mean sd
1: b varname 0.5755798 0.2723767
2: b varname 5.5108886 2.7649262
3: a varname 0.4906111 0.3060961
4: a varname 4.7780189 2.9740149
如何在第二列中获取列名('x1'、'x2')?我想我需要用rbindlist
别的东西代替,但是什么?有没有简单的解决方案?