data.table
は素晴らしい R パッケージであり、開発中のライブラリで使用しています。これまでのところ、1 つの合併症を除いて、すべてが順調に進んでいます。変数に保存された名前を使用して列を参照することは、(従来のデータ フレームと比較して) はるかに難しいようdata.table
です (データ フレームの場合は、たとえば: colname="col"; df[df[,colname]<5,colname]=0
)。
おそらく、物事を最も複雑にしているのは、 の this の構文に明らかに一貫性がないことですdata.table
。場合によっては、eval(colname)
and get(colname)
、または も機能するc(colname)
ようです。他の人でDT[,colname, with=F]
は、解決策です。しかし、たとえばset()
andsubset()
関数などの他のものでは、解決策がまったく見つかりませんでした。最後に、非常に一般的ではありますが、極端なユースケースが以前に議論されました (列名をプログラムで data.table に渡す)。
おそらく私は物事を複雑にしすぎていますか?さまざまな一般的なシナリオで変数を使用して列名を参照するための簡単なチートシートを誰かが書き留めることができればdata.table
、非常に感謝しています。
アップデート:
列名をハードコーディングできる場合に機能する特定の例をいくつか示します。
x.short = subset(x, abs(dist)<=100)
set(x, which(x$val<10), "val", 0)
、と仮定distcol="dist"
しvalcol="val"
ます。distcol
andvalcol
ではなくdist
andを使用して上記を行う最良の方法は何val
ですか?