假设我有一个R data.table:
DT = data.table(x=rep(c("a","b","c"),each=3), y=c(1,3,6), v=1:9)
我有一个我想要提取的列名字符向量,或者更常用的是:
cols = c("x","y")
例如,如何使用cols生成等效的
DT[,lapply(.SD[,list(x,y)], min) ]
有没有办法使用cols vector指定列表(x,y)?
答案 0 :(得分:7)
您可以使用可选的with = FALSE
:
> all.equal(DT[,list(x,y)], DT[, cols, with = FALSE])
[1] TRUE
> all.equal(DT[,.SD[,list(x,y)][min(v)]], DT[,.SD[,cols, with = FALSE][min(v)]])
[1] TRUE
常见问题解答1.6下的更多详情我相信:http://datatable.r-forge.r-project.org/datatable-faq.pdf