如何使用dplyr根据缺失条件合并两个数据框?

3
我有一个如下的数据框:
varA  varB  varC
  AA    45      
        32    D3
  DF          G5

还有另一个像这样的:

varA  varB  varC
        45    F3
  BB          D3
  DF    22    

我如何合并这些数据框,使它们合成一个整体?
varA  varB  varC
  AA    45    F3
  BB    32    D3
  DF    22    G5
2个回答

3
如果两个数据集具有相同数量的行并且缺失值为NA,请使用map2coalesce
library(dplyr)
library(purrr)
map2_dfc(df1, df2, coalesce)
# A tibble: 3 x 3
#  varA   varB varC 
#  <chr> <dbl> <chr>
#1 AA       45 F3   
#2 BB       32 D3   
#3 DF       22 G5   

数据

df1 <- structure(list(varA = c("AA", NA, "DF"), varB = c(45, 32, NA), 
    varC = c(NA, "D3", "G5")), class = "data.frame", row.names = c(NA, 
-3L))

df2 <- structure(list(varA = c(NA, "BB", "DF"), varB = c(45, NA, 22), 
    varC = c("F3", "D3", "G5")), class = "data.frame", row.names = c(NA, 
-3L))

3
假设数据框为A和B,请确保缺失值为NA -
A[is.na(A)] <- B[is.na(A)]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接