data.table
いくつかの不等式基準に基づいてフィルタリングしたいことがあります:
dt <- data.table(A=letters[1:3], B=2:4)
dt
# A B
# 1: a 2
# 2: b 3
# 3: c 4
dt[B>2]
# A B
# 1: b 3
# 2: c 4
上記は、ベクタースキャンソリューションとしてうまく機能します。しかし、これを列の変数名と組み合わせる方法がわかりません。
mycol <- "B"
dt[mycol > 2]
# A B // Nothing has changed
# 1: a 2
# 2: b 3
# 3: c 4
これを回避するにはどうすればよいですか? を使用してキーを設定することでバイナリ検索を使用できることはわかってsetkeyv(dt, mycol)
いますが、不等式の基準に基づいてバイナリ検索を行う方法がわかりません。