在R中组合%like%和%in%运算符

在R中组合%like%和%in%运算符,r,data.table,R,Data.table,如何在data.table中将%like%与%in%运算符组合?我想在列表中的任何字符串中找到字符串模式,如: list = c("aaa", "bbb", "ccc") data[column1 %like% %in% list, column2] 这当然不起作用。也许基于grep的方法应该起作用 data[grepl(paste(list, collapse='|'), column1)] 如果它们是完全匹配的,就这么做 data[column1 %in% list] 你为什么两者都

如何在data.table中将%like%与%in%运算符组合?我想在列表中的任何字符串中找到字符串模式,如:

list = c("aaa", "bbb", "ccc")

data[column1 %like% %in% list, column2]

这当然不起作用。

也许基于
grep
的方法应该起作用

data[grepl(paste(list, collapse='|'), column1)]
如果它们是完全匹配的,就这么做

data[column1 %in% list]

你为什么两者都需要呢。我想你需要
数据[column1%in%list]
(注意
in
data.table
)@akrun是的,我的意思是在I部分过滤。它怎么能忽略字母大小?@Kulis你是指小写/大写吗
grep
还有一个参数
ignore.case
默认为
FALSE
,您可以执行
data[grepl(粘贴(list,collapse='|',ignore.case=TRUE),column1)]
是,小写/大写,