各列を個別に参照せずに、大きな data.table 内の列のグループに関数を適用しようとしています。
a <- data.table(
a=as.character(rnorm(5)),
b=as.character(rnorm(5)),
c=as.character(rnorm(5)),
d=as.character(rnorm(5))
)
b <- c('a','b','c','d')
上記の MWE を使用すると、次のようになります。
a[,b=as.numeric(b),with=F]
動作しますが、これは:
a[,b[2:3]:=data.table(as.numeric(b[2:3])),with=F]
動作しません。関数を個別に参照せずにas.numeric
、列 2 と列 3 だけに適用する正しい方法は何ですか。a
(実際のデータセットでは数十列あるので実用的ではありません)