合并两个data.frame替换r

时间:2017-10-25 13:52:53

标签: r dataframe merge

我正在努力将两个data.frame与具有相同名称但值不同的列合并。我想用单个命令替换df1中的列,df2中的列具有相同的名称,保持df 1的其他列不变。

DF1

    a   b   c   d    e  
1   3   1   2   8    1
2   4   2   1   10   2
3   12  1   1   13   2
4   12  2   2   9    2


DF2

    b   c   e  
1   2   1   2 
2   1   2   1 
3   2   2   1
4   1   1   1

结果应如下所示

        a   b   c   d    e  
    1   3   2   1   8    2
    2   4   1   2   10   1
    3   12  2   2   13   1
    4   12  1   1   9    1

请注意,我在数据框中没有ID。

我已尝试使用r中的不同软件包。我获得的最好结果是dplyr中的join包

df1 <- left_join(df1, df2, copy = TRUE)

但是目标列的值等于df1而不是df2

首先使用df2会得到正确的值,但是如果用NAs填充非目标列(a和d)

df1 <- left_join(df2, df1, copy = TRUE)

有什么建议吗?

谢谢

编辑:

提供的答案是

dat1[names(dat2)] <- dat2

0 个答案:

没有答案