繁体   English   中英

R:gsub,匹配并删除

[英]R: gsub, match and remove

我有一个数据框x

x[1]= "red monkey"
X[2]= "blue whale"
X[3]= "Pink Panther"

等等...(因为这是一个大数据集)

color=read.csv("colors.csv")
color[,3]
Blue
Red
White
Grey
Pink
Red
Green

如果X[i]包含color[,3]中的任何单词,我必须匹配,如果是,则将其删除。 即结果应该是这样的另一个数据帧

y[1]= "monkey"
y[2]= "whale"
y[3]= "Panther"

等等..

我怎样才能做到这一点。

提前致谢。

假设x是一个向量,

gsub(paste(tolower(color[,3]), collapse='|'), '', tolower(x))
#[1] " monkey"  " whale"   " panther"

#to trim the whitespaces,
trimws(gsub(paste(tolower(color[,3]), collapse='|'), '', tolower(x)))
#[1] "monkey"  "whale"   "panther"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM