Join 使用dplyr连接多个数据帧时保留其他变量
我必须组合来自多个数据帧的给定变量Join 使用dplyr连接多个数据帧时保留其他变量,join,dplyr,Join,Dplyr,我必须组合来自多个数据帧的给定变量gfr的值。我有两个数据集,x1,其中包含gfr和date以及应该携带的附加列(实际数据集中约50列),以及名为x2的数据集中的gfr和date的附加值 库(dplyr) x1#A tible:3 x 4 #>id gfr日期附加信息 #> #> 1 1 90 2019-01-01 12 #> 2 2 80 2019-02-01 13 #>
gfr
的值。我有两个数据集,x1
,其中包含gfr
和date
以及应该携带的附加列(实际数据集中约50列),以及名为x2
的数据集中的gfr
和date
的附加值
库(dplyr)
x1#A tible:3 x 4
#>id gfr日期附加信息
#>
#> 1 1 90 2019-01-01 12
#> 2 2 80 2019-02-01 13
#> 3 3 120 2019-03-01 14
使用full_join
(1)添加不在x1
中的附加ID,以及(2)不保留所有观察的附加信息
:
full_连接(x1,x2)
#>加入,由=c(“id”、“gfr”、“日期”)
#>#tibble:7 x 4
#>id gfr日期附加信息
#>
#> 1 1 90 2019-01-01 12
#> 2 2 80 2019-02-01 13
#> 3 3 120 2019-03-01 14
#>4145 2018-01-01不适用
#>5260 2019-03-01北美
#>6402018-02-01北美
#>7560 2018-03-01不适用
我想要的数据帧如下所示:
通缉犯%
分组依据(id)%>%
变异(附加信息=第一个(附加信息))%>%
在(vars(c(gfr,日期)),保留所有=真)%>%
筛选器(id%在%x1$id中)%%>%
安排(id、日期)
#>加入,由=c(“id”、“gfr”、“日期”)
#>#A tibble:5 x 4
#>#组:id[3]
#>id gfr日期附加信息
#>
#> 1 1 45 2018-01-01 12
#> 2 1 90 2019-01-01 12
#> 3 2 80 2019-02-01 13
#> 4 2 60 2019-03-01 13
#> 5 3 120 2019-03-01 14
但我相信有一个更简单的解决办法。提前谢谢
由(v0.3.0)于2019-08-15创建的在对dplyr进行了更多的“摆弄”之后,我发现了一些代码,这些代码可以工作并且易于阅读,但仍然有点笨拙。我将在这里发布,这样任何人都可以使用这种方法,直到其他人有更好的答案:
库(dplyr)
x1%
不同的()
#>加入,由=c(“id”、“gfr”、“日期”)
然后使用一个简单的左连接
:
left_连接(基、梳)
#>通过=“id”加入
#>#A tibble:5 x 4
#>id附加信息gfr日期
#>
#> 1 1 12 90 2019-01-01
#> 2 1 12 45 2018-01-01
#> 3 2 13 80 2019-02-01
#> 4 2 13 60 2019-03-01
#> 5 3 14 120 2019-03-01
由(v0.3.0)于2019-08-2015年创建
使用dplyr有没有更简单的方法?在对dplyr进行了更多的“摆弄”之后,我找到了一些代码,这些代码可以工作并且易于阅读,但仍然有点笨拙。我将在这里发布,这样任何人都可以使用这种方法,直到其他人有更好的答案:
库(dplyr)
x1%
不同的()
#>加入,由=c(“id”、“gfr”、“日期”)
然后使用一个简单的左连接
:
left_连接(基、梳)
#>通过=“id”加入
#>#A tibble:5 x 4
#>id附加信息gfr日期
#>
#> 1 1 12 90 2019-01-01
#> 2 1 12 45 2018-01-01
#> 3 2 13 80 2019-02-01
#> 4 2 13 60 2019-03-01
#> 5 3 14 120 2019-03-01
由(v0.3.0)于2019-08-2015年创建
使用dplyr有更简单的方法吗