使用R合并两个具有不同列数的df

时间:2017-07-27 21:46:16

标签: r dataframe

我有两个数据框,它们有一组重叠的列,但也有一些独特的列。

它们也包含一些相同的观察结果。

举一个具体的例子:

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都包含ac

的观察结果

如何合并dfs以创建包含所有列的新df,但不重复观察?

2 个答案:

答案 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

希望有所帮助!

相关问题