【发布时间】:2021-05-22 02:35:14
【问题描述】:
复杂的标题,但这是我想要实现的一个简单示例:
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"))
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
我尝试了不同的东西,最接近的是:d$v2 <- m$v4[which(m$v3 %in% d$v2)]
我再次尝试避免任何 for 循环!必须有可能:-) 不知何故... ;)
【问题讨论】:
标签: r replace pattern-matching dataframe