我有两个数据框,它们有一组重叠的列,但也有一些独特的列。
它们也包含一些相同的观察结果。
举一个具体的例子:
df1 <- data.frame(Name = c("a", "b", "c", "d"),
age = c(1:4),
party = c(3:6)
)
df2 <- data.frame(Name = c("a", "e", "c", "f"),
other = c(10:13),
party = c(3:6)
)
两个dfs都包含a
和c
如何合并dfs以创建包含所有列的新df,但不重复观察?
答案 0 :(得分:2)
您可以使用基础R中的merge()
merge(df1, df2, all=T)
# Name party age other
# 1 a 3 1 10
# 2 b 4 2 NA
# 3 c 5 3 12
# 4 d 6 4 NA
# 5 e 4 NA 11
# 6 f 6 NA 13
答案 1 :(得分:1)
您可以使用full_join
中的dplyr
:
library(dplyr)
full_join(df1, df2)
这给了你:
Name age party other
1 a 1 3 10
2 b 2 4 NA
3 c 3 5 12
4 d 4 6 NA
5 e NA 4 11
6 f NA 6 13
希望有所帮助!