data.table を使用して複数の列を集計する Rと同じ結果が必要ですが、いくつかの集計関数が必要です。
ここに例があります
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
2 番目の列で列名 ('x1'、'x2') を取得するにはどうすればよいですか? 別のものに置き換える必要があると思いrbindlist
ますが、何ですか?簡単な解決策はありますか?