これが私が意味することの例であり、物事を明確にしています:
require(data.table)
x = data.table(a=1:10, idx=sample(c(TRUE, FALSE), 10, replace=TRUE))
x[idx]
Error in eval(expr, envir, enclos) : object 'idx' not found
ただし、次のように動作します。
x[idx[]]
#a idx
#1: 2 TRUE
#2: 5 TRUE
#3: 7 TRUE
#4: 9 TRUE
#5: 10 TRUE
ここで何が起こっているか分かりますか?