我正在努力将两个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会产生正确的值,但是如果使用NA填充非目标列(a和d)
df1 <- left_join(df2, df1, copy = TRUE)
有什么建议?
谢谢
编辑:
ANSWER提供的是
dat1[names(dat2)] <- dat2