我有以下两个数据框:
d <- data.frame(c1 = c("A","A","B","C","A","C","D","D"))
map <- data.frame(c1 = c("A","B","C","D"), c2 = c(12,14,16,25))
如何在包含数据框架图中找到的相应值的数据框d中添加另一个名为“匹配”的列?因此数据框d应如下所示:
A 12
A 12
B 14
C 16
A 12
C 16
D 25
D 25
非常感谢提前!
答案 0 :(得分:13)
使用名为match
的函数:
d$match <- map$c2[match(d$c1,map$c1)]
由于指定了这些级别的方式,您还可以这样做:
d$match <- map$c2[d$c1]
但这仅在match
中的每一行按顺序与c1
因子的级别完全匹配时才有效。