当RHS上的年份在LHS上的年份之后1-3年时,内部_连接两个数据帧

当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")) 代码不起作用。也许我根

我想用索引和年份连接两个数据帧,只要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"))

代码不起作用。也许我根本不应该考虑使用内部联接?

您可以做的是进行简单的联接/合并,然后过滤出满足您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"))