当有两个参考列时,合并R中的数据

时间:2016-05-10 21:17:11

标签: r database merge

我最近处理的数据集按以下顺序排列:

country  year ...
Albania  2012 ...
Albania  2013 ...
Albania  2014 ...
Albania  2015 ...
Albania  2016 ...
Bulgaria 2012 ...
Bulgaria 2013 ...
Bulgaria 2014 ...
Bulgaria 2015 ...
Bulgaria 2016 ...
...      ...
...      ...

我经常需要在分析之前向数据集中添加一个新列,但是对于我来说,年份列的存在会使它稍微复杂一些。想象一下第二个数据集如:

country  year   gdp
Albania  1970 12111
Albania  1971 12222
...      ...    ...
Albania  2016 22333
...      ...    ...
Bulgaria 1970 15333
Bulgaria 1971 15444
...      ...    ...

如何以确保gdp值转到正确的country-year行的方式合并上述两个数据集?

谢谢。

1 个答案:

答案 0 :(得分:1)

让您的第一个数据集为df1,第二个数据集为df2

df3 <- merge(x=df1,y=df2,by=c("country","year"),all.x=TRUE)

哪个是左外连接(假设你有df1中所有年份的gdps

有关详细信息,请参阅此处: How to join (merge) data frames (inner, outer, left, right)?