如何在R中使用2个公共列合并2个数据集

时间:2017-07-03 20:02:37

标签: r

我正在尝试根据每个中的2列合并两个数据帧。我想根据匹配的ID和Year列将Territory列和IDMate列从Data Frame 2合并到Data Frame 1。

数据框1:

        ID Year
     1  1 1998
     2  2 2001
     3  3 2005
     4  4 2008

数据框2:

       ID Year Territory  IDMate
    1  1 1998         A    22
    2  1 1999         B    24
    3  1 2000         C    25
    4  2 2001         D    26
    5  2 2002         E    27
    6  3 2005         F    28
    7  4 2008         G    29

目标是得到这个:

       ID Year Territory  IDMate
    1  1 1998         A    22
    2  2 2001         D    26
    3  3 2005         F    28
    4  4 2008         G    29

2 个答案:

答案 0 :(得分:-1)

common< - intersect(data.frame1 $ col,data.frame2 $ col) data.frame2 [common,]

希望这能让你得到你想要的东西

答案 1 :(得分:-1)

您可以使用left_join中的dplyr

library(dplyr)
res <- left_join(df1, df2, by = c("ID", "Year"))

#  ID Year Territory IDMate
#   1 1998         A     22
#   2 2001         D     26
#   3 2005         F     28
#   4 2008         G     29