R 如何根据其他列中值的相等性将值从一个DF分配到另一个DF?

R 如何根据其他列中值的相等性将值从一个DF分配到另一个DF?,r,R,假设我有一个大数据帧和一个小数据帧,这是它的子集。大的有Y列,小的没有,都有colmun ID。如何根据ID中值的相等性,将大DF中的Y值分配给小DF?如果这些是您的数据帧 BIG<-data.frame(ID=1:20, Y=runif(20)) SMALL<-data.frame(ID=c(3,7,12)) 请参阅?合并并尝试在此站点上搜索[r]合并-类似于mergessmall、big、by=ID、all.x=TRUE。我建议阅读一篇好的R站点介绍,以便对这些问题进行排序。@

假设我有一个大数据帧和一个小数据帧,这是它的子集。大的有Y列,小的没有,都有colmun ID。如何根据ID中值的相等性,将大DF中的Y值分配给小DF?

如果这些是您的数据帧

BIG<-data.frame(ID=1:20, Y=runif(20))
SMALL<-data.frame(ID=c(3,7,12))

请参阅?合并并尝试在此站点上搜索[r]合并-类似于mergessmall、big、by=ID、all.x=TRUE。我建议阅读一篇好的R站点介绍,以便对这些问题进行排序。@最近的邮件我不想合并它们,我希望生成的DF中的行数与DF一样小。它必须是小的DF只是新的列。合并可以给你你想要的。如果只希望添加Y列,则mergesall,big[cID,Y],by=ID,all.x=TRUE。如果big中有多个匹配项,它将返回多个值,但您可能想知道,在这种情况下,您没有良好的1:1关系。在这种情况下,“合并”将比使用“匹配”更可靠。@最后一封邮件将其作为答案发布,以便我们可以向上投票。我不介意-这是一个重复的问题,我投票决定结束而不是回答。
SMALL$Y<-BIG$Y[match(SMALL$ID, BIG$ID)]