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
fromstringr
之类的函数应该可以完成这项工作。例如stringr::str_extract(data1$brand_detail,paste(brand_list,collapse=''124;')
stri_detect()
ftownested apply听起来很讨厌,这里绝对不需要。诸如gsub
或str\u extract
fromstringr
之类的函数应该可以完成这项工作。例如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]
}