R:替换两个数据帧的数据并合并非相互数据
R: Replacing data of two dataframes & merge non-mutual data
我有两个要合并的数据框。我想通过匹配名称同时合并一个新行,将 df1 中的现有数据替换为 df2 中的现有数据,保留 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)
我有两个要合并的数据框。我想通过匹配名称同时合并一个新行,将 df1 中的现有数据替换为 df2 中的现有数据,保留 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)