我有两个数据帧,我想合并。我想用df2替换df1中的现有数据,方法是匹配名称,同时合并一个新行,将数据保留在df1中,而df2中不存在该数据,并合并df2中不存在的新行。示例:
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行的age列已从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)