R 从字符串列表中查找数据集中子字符串的有效方法

R 从字符串列表中查找数据集中子字符串的有效方法,r,R,我有一个字符串列表,我试图找出数据集中的某个特定列是否有该字符串。如果是,请在其旁边写下该字符串 例如 name<-c("Ann","Brit","Cathy","Debra","Mike","Ram") brand_detail<-c("Reebok size 10","Nike loafers","Reebok slipper","United Colors of Benetton Shoes","Reebok size 8", "Puma slipper")

我有一个字符串列表,我试图找出数据集中的某个特定列是否有该字符串。如果是,请在其旁边写下该字符串

例如

    name<-c("Ann","Brit","Cathy","Debra","Mike","Ram")
    brand_detail<-c("Reebok size 10","Nike loafers","Reebok slipper","United Colors of Benetton Shoes","Reebok size 8", "Puma slipper")

data1<- data.frame(name,brand_detail)

brand_list<-c("Reebok", "Nike", "United Colors of Benetton")

namestedapply听起来很讨厌,这里绝对不需要。诸如
gsub
str\u extract
from
stringr
之类的函数应该可以完成这项工作。例如
stringr::str_extract(data1$brand_detail,paste(brand_list,collapse=''124;')
stri_detect()
ftownested apply听起来很讨厌,这里绝对不需要。诸如
gsub
str\u extract
from
stringr
之类的函数应该可以完成这项工作。例如
stringr::str_extract(data1$brand_detail,paste(brand_list,collapse=''124;')
stri_detect()
FTW
data1$brand_match<-""
for(i in 1:length(brand_list))

{
  B <- function(x){grepl(brand_list[i],ignore.case = TRUE,x)}
  data1$brand_match[which(lapply(data1$brand_detail,B)=="TRUE")]<-brand_list[i]
}