我有两个看起来像这样的数据框:
df1:
A B C D E F. EMAIL
1 78 46 65 59 NA NA. bill@microsoft.com
2 60 51 64 67 NA NA. bill@microsoft.com
3 72 83 54 72 NA NA. bill@microsoft.com
df2:
A B C D E F. EMAIL
1 NA NA NA NA 71 99. bill@microsoft.com
2 NA NA NA NA 53 74. bill@microsoft.com
我最终想要得到的是: df3
A B C D E F EMAIL
1 78 46 65 59 71 99. bill@microsoft.com
2 60 51 64 67 53 74. bill@microsoft.com
3 72 83 54 72 NA NA. bill@microsoft.com
我尝试了合并,合并,联接,rqdatable,但都没有成功。我是R的新手,并且关于如何实现此目标的想法不多了。如何用一个秒的值替换一个数据帧的值?
谢谢! -g
答案 0 :(得分:4)
Use Default
答案 1 :(得分:1)
我们可以使用data.table
方法
library(data.table)
nm1 <- c('A', 'B', 'C', 'D', 'E', 'F')
setDT(df1)[, (nm1) := Map(fcoalesce, .SD, df2[nm1]), .SDcols = nm1]