r - 两个数据框的特定连接
问题描述
我有两个数据框: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
和,
> df2
ID hgt wt phys_dt
1 C0004 70 147 6/29/2015
2 C0004 70 157 6/27/2016
3 C0005 67 175 6/27/2016
4 C0005 65 171 7/2/2014
5 C0006 69 160 6/29/2015
6 C0006 64 143 7/2/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
and添加df2$wt
到正确的ID
行。棘手的部分是我想加入日期(和hgt
)最接近wt
的行。我在想我可以先按两个数据框各自的日期对它们进行排序,然后尝试加入?我不太确定如何解决这个问题。谢谢。ID
df1$test_dt
df2$phys_dt
ID
解决方案
如果您只想匹配 df1$ID 和 df2$ID,请执行以下操作:
df3 <- left_join(df1, df2, by = c("ID" = "ID"))
如果日期和 ID 应该匹配,您可以尝试:
df3 <- left_join(df1, df2, by = c("ID" = "ID", "test_dt" = "phys_dt"))
它在图书馆(dplyr)
推荐阅读
- javascript - 尝试 - catch() 不捕获错误并抛出它
- node.js - 在“结束”事件之后调用“错误”事件?
- css - 警告框 - 如何在浏览器缓存中保存 close(x)
- python-3.x - 模块“seaborn”没有属性“distplot”
- spring-batch - 我需要一些建议来开发一个 spring 批处理应用程序
- php - 删除重复记录而不使用 DISTINCT 和 GROUP BY 关键字
- excel - 动态更改工作表更改事件代码
- c# - 使用 DependentUpon 时可以覆盖资源名称吗?
- jquery - jQuery Select2 排序数字
- angular - 自版本 8 起,Nx 工作区 CLI 不允许创建纯 typescript 库