r - R:替换两个数据框的数据并合并非相互数据
问题描述
我有两个希望合并的数据框。我想用 df2 替换 df1 中的现有数据,同时匹配名称并组合一个新行,在 df1 中保留 df2 中不存在的数据,以及从 df2 中合并 df1 中不存在的新行。例子:
df1:
name age
A 15
B 15
C 16
D 17
E 18
df2:
name age height
A 15 159
B 15 156
C 20 160
F 21 171
G 22 163
期望的结果:
name age height
A 15 159
B 15 156
C 20 160
D 17 NA
E 18 NA
F 21 171
G 22 163
看到除了合并新列之外,df1 中的行 C 具有从 df2 更新的年龄列,并保持 D & E,& F & G 合并到数据框中。关于如何做到这一点有什么建议吗?先感谢您
解决方案
library(dplyr)
df1 %>% full_join(df2, by = "name") %>%
mutate(age = coalesce(age.y, age.x)) %>%
select(-age.y, -age.x)
推荐阅读
- node.js - 在服务器的静态 IP 中运行 nginx
- javascript - 如何在javascrtip中写一个div?
- javascript - Javascript中的冒泡排序:警报缺失问题
- hibernate - 用于条件更新的 JPA 注释
- javascript - 如何单击没有固定类值的按钮?但它有一个固定的“data-testid”
- java - 在不同的微服务上应用过滤器和分页
- ethereum - DappNode 主网同步卡住
- android - 查看 setEnabled() 错误:NullPointerException
- c++ - 虚假唤醒是否会解除所有等待线程的阻塞,甚至是不相关的线程?
- laravel - Laravel 测试无法使用 Storage::fake() 在路径中找到文件