Regex 使用grep选择列表中包含的字符串
我有一个数据帧:Regex 使用grep选择列表中包含的字符串,regex,r,dataframe,Regex,R,Dataframe,我有一个数据帧: id <- c(1:5) name <- c("blackdog","whitedog", "blackcat","whitecat","greyrabbit") df <- data.frame(id,name) df id我想你要做的是使用apply函数: > df$name[unique(unlist(lapply(select, FUN=function(x) grep(x,df$name))))] [1] blackdog blackc
id <- c(1:5)
name <- c("blackdog","whitedog", "blackcat","whitecat","greyrabbit")
df <- data.frame(id,name)
df
id我想你要做的是使用apply函数:
> df$name[unique(unlist(lapply(select, FUN=function(x) grep(x,df$name))))]
[1] blackdog blackcat whitedog greyrabbit
Levels: blackcat blackdog greyrabbit whitecat whitedog
这就是你想要的吗?这里不需要使用循环:
df[grep(paste(select,collapse='|'),df$name),]
## id name
## 1 1 blackdog
## 2 2 whitedog
## 3 3 blackcat
## 5 5 greyrabbit
+1-我的第一个想法是在列表中插入“|”,但我无法让它轻松工作。我错过的是“崩溃”。谢谢
> df$name[unique(unlist(lapply(select, FUN=function(x) grep(x,df$name))))]
[1] blackdog blackcat whitedog greyrabbit
Levels: blackcat blackdog greyrabbit whitecat whitedog
df[grep(paste(select,collapse='|'),df$name),]
## id name
## 1 1 blackdog
## 2 2 whitedog
## 3 3 blackcat
## 5 5 greyrabbit