R通过字符变量的值对data.table进行子集
Posted
技术标签:
【中文标题】R通过字符变量的值对data.table进行子集【英文标题】:R subsetting a data.table by values of a character variable 【发布时间】:2022-01-05 14:42:49 【问题描述】:我正在尝试对 data.table 进行子集化,这里是小示例,但需要做更大的示例。
我有 dt 和唯一的列,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 呢?我知道这些是我唯一想保留的?谢谢,J。
【问题讨论】:
【参考方案1】: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
【讨论】:
谢谢 Jose,我差点搞定了,由于某种原因,顺序调换了……也许像 SQL 语法!以上是关于R通过字符变量的值对data.table进行子集的主要内容,如果未能解决你的问题,请参考以下文章