如何查找r中文本中的id列表



我的例子如下。我有一个包含文本行的df和一个包含id的df。我想知道id是否出现在我的文本中。这是我的代码-我忽略了什么?

df <- data.frame(text=c("random text with ID _OMaUIC4Om", 
"random text with ID  _tqlb6VsVN",
"random text with ID  0AcMp9JJ8q",
"random text with ID  _tqlb6VsVN",
"random text with ID  _tqlb6VsVN",
"random text with ID"))

df.id <- data.frame(id=c("_4pGCmTAat","_tqlb6VsVN","_OMaUIC4Om","0AcMp9JJ8q"))

check <- subset(df, text %in% df.id$id)
check <- subset(df, grep(df.id$id, text))

我们可以将它们paste并传递到grepl

subset(df, grepl(paste(df.id$id, collapse="|"), text))

与产出

#                              text
#1  random text with ID _OMaUIC4Om
#2 random text with ID  _tqlb6VsVN
#3 random text with ID  0AcMp9JJ8q
#4 random text with ID  _tqlb6VsVN
#5 random text with ID  _tqlb6VsVN

最新更新