我想对 data.table 中的所有列应用一个函数。因此,我将 .SD 与 lapply 一起使用。但是,在 lapply 内部,我无法检索表格的列。
例如
x = data.table(a=1:10, b=10:1, id=1:5)
x[,lapply(.SD,function(t){t*id}),.SDcols=c(1,2)]
Error in ..FUN(a) : object 'id' not found
我执行以下操作:
x[,lapply(.SD,function(t){t*x$id}),.SDcols=c(1,2)]
我们能做得更好吗?