相关疑难解决方法(0)

将数据帧中的值与另一个数据帧中的值进行匹配,并将前者替换为另一个数据帧中的相应模式

复杂的标题,但这是我想要实现的一个简单的例子:

d <- data.frame(v1 = c(1,2,3,4,5,6,7,8), 
                v2 = c("A","E","C","B","B","C","A","E"))

m <- data.frame(v3 = c("D","E","A","C","D","B"), 
                v4 = c("d","e","a","c","d","b"))
Run Code Online (Sandbox Code Playgroud)

在价值d$v2应该由值来代替m$v4从值相匹配d$v2m$v3

生成的数据框d应如下所示:

v1    v4
1      a
2      e
3      c
4      b
5      b
6      c
7      a
8      e
Run Code Online (Sandbox Code Playgroud)

我尝试了不同的东西,我最接近的是: d$v2 <- m$v4[which(m$v3 %in% d$v2)]

我试着再次避免任何for循环!必须是可能的:-)不知怎的......;)

replace r pattern-matching dataframe

15
推荐指数
3
解决办法
5万
查看次数

标签 统计

dataframe ×1

pattern-matching ×1

r ×1

replace ×1