使用查找加入三个表

时间:2017-03-15 15:53:26

标签: r join

我需要加入3个表:

Table1:(5325 x 6)
POLICY  YEAR   Prem Loss LRtot    LRPP
217570  2008   3651    0     0       0
.
.


Table2: (216 x 1)
POLICY
217570
251440
290102
.
.
655825

Table3: (11551 x 4)
YEAR  STATE POLICY  DIST_MIL
2011   TN    217570    11.0
2013   TN    217570    10.7
2016   TN    217570    10.7
.
.
. 

我想获得这样的输出(DIST_MIL是2016年值):

Output Table:
POLICY  YEAR   Prem Loss LRtot    LRPP DIST_MIL
217570  2008   3651    0     0       0    10.7

我怎样才能在R中实现这个目标?

1 个答案:

答案 0 :(得分:0)

dplyr解决方案:

library(dplyr)
final3_join <- Table1 %>% inner_join(Table2,by="POLICY") %>%
inner_join(Table3,by="POLICY")

如果您只希望Table1中的记录在最终表中,则将inner_join替换为left_join。

根据您的评论进行编辑。您可以在上次加入的路上过滤数据。

final3_join <- Table1 %>% inner_join(Table2,by="POLICY") %>%
    inner_join(filter(Table3,YEAR==2016),by="POLICY")

注意:如果将年份定义为字符,则将其放在引号中,“2016”