1. ホーム
  2. r

[解決済み] data.table内の複数の列を数値インデックスで選択する。

2022-05-04 14:26:53

質問

の数値インデックス(位置)のベクトルを使って、複数の列を選択するにはどうしたらよいでしょうか? data.table ?

を使うとこうなります。 data.frame :

df <- data.frame(a = 1, b = 2, c = 3)
df[ , 2:3]
#   b c
# 1 2 3

解決方法は?

のバージョンについては データテーブル >= 1.9.8 であれば、以下はすべて正常に動作します。

library(data.table)
dt <- data.table(a = 1, b = 2, c = 3)

# select single column by index
dt[, 2]
#    b
# 1: 2

# select multiple columns by index
dt[, 2:3]
#    b c
# 1: 2 3

# select single column by name
dt[, "a"]
#    a
# 1: 1

# select multiple columns by name
dt[, c("a", "b")]
#    a b
# 1: 1 2


のバージョンについては data.table < 1.9.8 (数値列の選択には with = FALSE ) を参照してください。 この前のバージョン この回答の 以下もご参照ください。 ニュース v1.9.8, POTIALLY BREAKING CHANGES, point 3に記載されています。