R 两个数据帧的特定连接
我有两个数据帧:R 两个数据帧的特定连接,r,dataframe,join,dplyr,R,Dataframe,Join,Dplyr,我有两个数据帧:df1和df2: > df1 ID Gender age cd evnt scr test_dt 1 C0004 MALE 22 1 1 82 7/3/2014 2 C0004 MALE 22 1 2 76 7/3/2014 3 C0005 MALE 22
df1
和df2
:
> df1
ID Gender age cd evnt scr test_dt
1 C0004 MALE 22 1 1 82 7/3/2014
2 C0004 MALE 22 1 2 76 7/3/2014
3 C0005 MALE 22 1 3 1514 7/3/2014
4 C0005 MALE 23 2 1 81 11/3/2014
5 C0006 MALE 23 2 2 75 11/3/2014
6 C0006 MALE 23 2 3 878 11/3/2014
以及
我想以产生以下数据帧的方式连接df1
和df2
,称之为df3
:
> df3
ID Gender age cd evnt scr hgt wt
1 C0004 MALE 22 1 1 82 70 147
2 C0004 MALE 22 1 2 76 70 157
3 C0005 MALE 22 1 3 1514 67 175
4 C0005 MALE 23 2 1 81 65 171
5 C0006 MALE 23 2 2 75 69 160
6 C0006 MALE 23 2 3 878 64 143
我正在尝试将
df2$hgt
和df2$wt
添加到正确的ID
行中。棘手的部分是,我想将hgt
和wt
加入到日期(df1$test_dt
和df2$phys_dt
)最接近的ID
行。我想我可以先按ID
对这两个数据帧进行排序,然后按它们各自的日期进行排序,然后尝试合并?我不太清楚该如何处理这个问题。谢谢。如果您想仅匹配df1$ID和df2$ID,请执行以下操作:
df3 <- left_join(df1, df2, by = c("ID" = "ID"))
df3如果您只想对df1$ID和df2$ID进行模糊匹配,则应执行以下操作:
df3 <- left_join(df1, df2, by = c("ID" = "ID"))
df3我想你需要一个滚动接头你确定hgt
和wt
不是c006
的对立面吗?我想你需要一个滚动接头你确定hgt
和wt
不是c006
的对立面吗?
df3 <- left_join(df1, df2, by = c("ID" = "ID", "test_dt" = "phys_dt"))