【发布时间】:2020-06-06 16:45:05
【问题描述】:
我有以下data.table:
DT = data.table(ID = c(1, 2, 4, 5, 10), A = c(13, 1, 13, 11, 12))
DT
ID A
1: 1 13
2: 2 1
3: 4 13
4: 5 11
5: 10 12
A 列的内容并不重要。我有一个列表/向量test <- c(1, 5, 9, 10, 11, 12, ...),它可能比 data.table 长很多倍。我想选择 data.table DT 中的行,以使向量 test 中不存在键 ID:
ID A
2: 2 1
3: 4 13
我认为DT[!(ID %in% test)] 有效,但想利用 data.table 基于快速键的子集。请注意,向量 test 可能与来自 DT 的键没有任何共同的元素,这将导致子集返回 data.table 本身,并且可能是所有键都存在于 test 中,返回一个空的 data.table。有什么建议吗?
【问题讨论】:
标签: r data.table