微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将两个数据框与 R 中的两个匹配列合并

如何解决如何将两个数据框与 R 中的两个匹配列合并

我有两个数据场,如下所示:

year    companyID    salary
2009       1           1000
2009       2           2000
2010       1           1200
2010       2           2200
2011       3           1500
2012       4           1100 

year    companyID    Turnover
2009       1           10000
2009       2           20000
2010       1           12000
2010       2           22000
2011       3           15000

我想创建这样的东西:

year    companyID    salary   Turnover
2009       1           1000    10000
2009       2           2000    20000
2010       1           1200    12000
2010       2           2200    22000
2011       3           1500    15000
2012       4           1100    NA

我该怎么做?

请注意合并条件是两列:Year 和 companyID

知道这样做的一种方法是通过组合两列来创建一个新列,然后在该列上合并,但有没有更好的方法

解决方法

我们可以使用 left_join

library(dplyr)
df1 %>% 
  left_join(df2,by = c("year","companyID"))

输出:

   year companyID salary Turnover
  <dbl>     <dbl>  <dbl>    <dbl>
1  2009         1   1000    10000
2  2009         2   2000    20000
3  2010         1   1200    12000
4  2010         2   2200    22000
5  2011         3   1500    15000
6  2012         4   1100       NA

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。