、それはdata.tableのように思えます。 data.tableで列をサブセット化するために、我々は?data.table
ドキュメントと
によるとwith = FALSE
df[, cnm, with = FALSE]
# X2 X3
#1: 1 3
#2: 5 3
#3: 3 4
#4: 6 5
#5: 2 2
必要 - TRUEとjはxの枠内で評価される=とデフォルトでは、 の列名を変数として使用できます。
とき= FALSE jには、選択またはフォームStartColがのために列名の文字ベクトル、列位置の数値 ベクトルです:endcol、 と返される値は常にdata.tableです。 with = FALSEは、しばしば で、列を動的に選択するためにdata.tableで便利です。 x [、 cols、= FALSE]は、x [、.SD、.SDcols = cols]と等価であることに注意してください。
データセットがdata.frame
場合、単に
setDF(df)#convert to 'data.frame'
df[cnm]
# X2 X3
#1 1 3
#2 5 3
#3 3 4
#4 6 5
#5 2 2
データセットのサブセットであろう
[[
data.frame
又はlist
要素適用
の単一の列を抽出するためのものですOPのコードはdata.table
です.subset2で同じエラーメッセージ
df[[cnm]]
エラーTS(X、I、正確な=正確な):境界
のうち添字
我々はdata.table
にdata.frameのサブセットオプションを行う場合は、私はdata.table場合(または:それは[.data.table
(DF、CNM)のいずれかで
df[cnm]
エラーが動作しません。文字ベクトル)で結合する列は、 'on ='引数(?data.table参照)を使用して のいずれかを指定する必要があります。ソートされました。 、ソート済みとマークされていますか?setkeyを参照してください)。 xがRAM内でソートされるため、キー付きジョインはさらに大きなデータに対して の速度上の利点をもたらす可能性があります。
感謝 - 最初のものは動作しますが、テーブルにデータフレームに変換する必要があり...> cnm <-c( "X2"、 "X3") > df [cnm] '[.data.table'(df、cnm)のエラー: 私がdata.table(または文字ベクトル)では、xはkeyed(ソートされ、ソートされているとマークされていなければならない)なので、data.tableはどのカラムを結合するかを知り、ソートされたxを利用します。 setkey(x、...)を最初に呼び出します。?setkeyを参照してください。 –
データセットが 'data.table'であるため、2番目のデータセットは機能しません – akrun