当RHS上的年份在LHS上的年份之后1-3年时,内部_连接两个数据帧
我想用索引和年份连接两个数据帧,只要RHS上的年份在LHS上的年份之后1-3年。例如,数据帧df_lhs是 df_rhs是 我希望生成的内部连接包含:当RHS上的年份在LHS上的年份之后1-3年时,内部_连接两个数据帧,r,dplyr,R,Dplyr,我想用索引和年份连接两个数据帧,只要RHS上的年份在LHS上的年份之后1-3年。例如,数据帧df_lhs是 df_rhs是 我希望生成的内部连接包含: A index Year_left Year_right 5 C 12/31/2009 12/31/2011 这就是我试过的 df = inner_join(df_lhs, df_rhs, by = c('index','Year'), suffix = c(".left", ".right")) 代码不起作用。也许我根
A index Year_left Year_right
5 C 12/31/2009 12/31/2011
这就是我试过的
df = inner_join(df_lhs, df_rhs, by = c('index','Year'), suffix = c(".left", ".right"))
代码不起作用。也许我根本不应该考虑使用内部联接?您可以做的是进行简单的联接/合并,然后过滤出满足您1-3年条件的行 下面是基于多个ID合并两个数据帧的代码
merge(df_lhs,data df_rhs,by=c("index","Year"))
在此之后,您将得到简单的合并,然后您可以根据一些条件进行筛选,例如1-3年之间的日期差异
这只是一个建议。我希望这会有所帮助。您可以做的是进行简单的连接/合并,然后筛选出满足您1-3年条件的行 下面是基于多个ID合并两个数据帧的代码
merge(df_lhs,data df_rhs,by=c("index","Year"))
在此之后,您将得到简单的合并,然后您可以根据一些条件进行筛选,例如1-3年之间的日期差异
这只是一个建议。我希望这能有所帮助。librarydplyr
图书馆三年
df_lhs%>%
sep=/,into=cm,d,y,remove=F%>%
内部连接,{df_rhs%>%
sep=/,into=cm,d,y,remove=F},
by=c'index',m',d',后缀=c.left,.right%>%
filteras.numeric.right-as.numeric.left%在%1:3%>%
选择A、B、索引、年份、左、右
>A B指数年份。左年份。右年份
>1 5 2 C 12/31/2009 12/31/2011
图书馆弹琴
图书馆三年
df_lhs%>%
sep=/,into=cm,d,y,remove=F%>%
内部连接,{df_rhs%>%
sep=/,into=cm,d,y,remove=F},
by=c'index',m',d',后缀=c.left,.right%>%
filteras.numeric.right-as.numeric.left%在%1:3%>%
选择A、B、索引、年份、左、右
>A B指数年份。左年份。右年份
>1 5 2 C 12/31/2009 12/31/2011
merge(df_lhs,data df_rhs,by=c("index","Year"))