2016-08-16 251 views
1

尽管复杂的标题应用分类,给一个变量,我想做的事情很简单:试图在一个数据帧中的另一个数据帧

如果我有两个dataframes:

d <- data.frame(V1 = c("a","b","c","d"), V2 = c("P", "M", "M", "P")) 
j <- data.frame(V3 = c("d","b","b","c","d","c", "a")) 

和我要插入另一列到数据帧Ĵ,称为V4其分配同一分类中的d,即最终的数据框的样子:

j 

V3 V4 
d P 
b M 
b M 
c M 
d P 
c M 
a P 

回答

0

您可以使用match

j$V4 <- d$V2[match(j$V3, d$V1)] 

j 
# V3 V4 
#1 d P 
#2 b M 
#3 b M 
#4 c M 
#5 d P 
#6 c M 
#7 a P 
+1

太感谢你了! – demsav

0

看起来要执行联接,或合并歌剧重刑,因为这样的:

j <- merge(x=j,y=d,by.x="V3",by.y="V1",sort=FALSE) colnames(j) <- c("V3","V4")

相关问题