复杂的标题,但这是我想要实现的一个简单的例子:
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$v2的m$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循环!必须是可能的:-)不知怎的......;)