我有一个data.table,我需要根据两列有效地进行子集。 具体来说,我希望将不包含的所有行的子集 两列的特定值。
例如,根据下表,我想排除3行,并得到以下结果:
exclude <- 3
tbl <- data.table(A = 1:4, B = 3:6)
tbl
A B
1: 1 3
2: 2 4
3: 3 5
4: 4 6
desired_result <- data.table(A = c(2,4), B = c(4,6))
desired_result
A B
1: 2 4
2: 4 6
您似乎无法使用键来排除项目,如下所示:
setkey(tbl, A, B)
tbl[!.(exclude, exclude)]
我也试过这样的东西,但这只会返回A = B的行。
nums <- 1:6
include <- nums[nums != exclude]
setkey(tbl, A, B)
tbl[.(include, include)]
谢谢!