R通过字符变量的值对data.table进行子集化

R subsetting a data.table by values of a character variable

我正在尝试对 data.table 进行子集化,这里是一个小例子,但需要做一个更大的例子。

我有 dt 和 only 列,code_id 是关键:

> UniqueCodes
                 code_id
    1:                  
    2:             .....
    3: 10073011000001107
    4: 10073911000001106
    5: 10075611000001101
   ---                  
15114:             x05ZX
15115:             x05q2
15116:             x05qb
15117:             x05td
15118:             x05xd

我有一长串代码我想保留(子集)并丢弃其余的。那么我如何子集这个 df 并只保留 x05ZX、X05qb 和 X05td 呢?我知道 apriory 这些是我唯一想保留的?谢谢,J.

library(data.table)

code_id <- c(10073011000001107,
             10073911000001106,
             10075611000001101,
             "x05ZX",
             "x05q2",
             "x05qb",
             "x05td",
             "x05xd",
             "x05qb")

UniqueCodes <- data.table(code_id)

您可以使用要保留的代码构建向量

codes <- c("x05ZX", "X05qb", "X05td", "x05qb")

然后将向量传递给dt

UniqueCodes[code_id %in% codes]
##  code_id
## 1:   x05ZX
## 2:   x05qb
## 3:   x05qb