You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在data.table中提取含指定字符串的列值向量?

解决方法

你可以通过逻辑索引子集化或者利用data.table的特性来实现需求,以下是几种实用的方式:

方法1:基础R子集化

直接用grepl返回的逻辑向量,筛选dat$var中对应为TRUE的元素:

matches <- dat$var[grepl("string", dat$var)]

方法2:data.table原生语法

利用data.table的行筛选+列提取,写法更贴合data.table的使用习惯:

matches <- dat[grepl("string", var), var]

方法3:data.table模糊匹配运算符%like%

data.table内置了%like%运算符,等价于grepl,可以简化代码:

matches <- dat[var %like% "string", var]

以上三种方法运行后,matches都会得到你期望的结果:

> matches
[1] "thisstring"  "otherstring"

内容的提问来源于stack exchange,提问作者Tom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 02:45:40