假设R中有一个数据框,其中(其中包括)以下列:
V1
Q1r2c5
Q1r5c11
Q1r5_1c130
我有第二个数据框,看起来像:
search replace
5 brand1
11 brand2
130 brand3
我要执行的操作如下:在数据帧中,搜索V1中“ c”后面的部分,并将其替换为第二个数据帧中的匹配替换项。因此:
我已经尝试过gsub(".*c", "", dataframe$V1")
,的确给了我“ c”后面的部分。但是,我还没有找到一种简单的方法(通过for循环除外)基于第二个数据帧进行匹配。
有任何想法吗?非常感谢!
您可以match
用来生产替代品。在下面的示例中,我向第一个数据帧中添加了一个数据,以进行检查。
V1 <- read.table(text="Q1r2c5
Q1r5c11
Q1r5_1c130
testc130", stringsAsFactors=F)
V2 <- read.table(text = "search replace
5 brand1
11 brand2
130 brand3", header = T, stringsAsFactors=F)
V2$replace[match(sub(".*c", "", V1$V1), V2$search)]
[1] "brand1" "brand2" "brand3" "brand3"
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句