我需要加入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中实现这个目标?
答案 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”