【发布时间】:2015-08-20 02:53:45
【问题描述】:
我想计算每个组的几列的平均值,但列应该作为名称向量给出:
library(data.table)
DT <- data.table(k=c(1,1,2,2,2),v=1:5,w=11:15,key="k")
DT[,list(N=.N,v=mean(v),w=mean(w)),by="k"]
k N v w
1: 1 2 1.5 11.5
2: 2 3 4.0 14.0
但是,我不想在计算时明确指定v 和w。
我还有一个变量
mycols <- c("v","w")
应该使用它而不是明确的列名。
我尝试了各种版本
DT[,list(.N,colMeans(.SD[mycols])),by="k"]
得到了
Error in `[.data.table`(.SD, mycols) :
不知道有没有办法...
【问题讨论】:
标签: r data.table