3
数目不详的程序定义的变量的假设我有以下代码:将数据传递给函数在data.table
x = data.table(rowid=1:10, N1=2:11, N2=3:12, N3=4:13)
x[, sum(c(N1, N2, N3)),by=rowid]
现在假设我不知道列名N1,N2,N3提前,他们被保存在向量colnames=c("N1", "N2", "N3")
。如果我知道的变量的数量传递给sum()
,我可以在colnames
插上如下:
x[, sum(c(get(colnames[1]),get(colnames[2]),get(colnames[3]))),by=rowid]
现在假设我不知道colnames
长度。有什么办法可以重写上面所以它的作品?像x[, sum(c(sapply(colnames, as.name))),by=rowid]
(注意这个确切的表达式不起作用)。
布拉沃,非常感谢! – msp