data.table のすべての列に関数を適用したいと思います。したがって、私は lapply で .SD を使用します。しかし、ラップリー内では、テーブルの列を取得できません。
例えば
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)]
もっとうまくやれるでしょうか?