R - 替换数据帧中的NA

时间:2018-06-08 13:28:43

标签: r

我有一个包含定量和定性变量的数据框,并包含许多缺失值

x1    x2      x3
NA    Male    3
NA    Female  7
3     NA      5

我还有另一个数据框

x1    x2       x3
3     Male     NA
4     NA       NA
NA    NA       NA

基本上我想用第二个数据帧中的值逐列替换第一个数据帧中的NA。我的愿望数据集是

x1     x2        x3
3      Male      3
4     Female     7
3      Male      5

我正在考虑申请但不确定如何有效地实施

1 个答案:

答案 0 :(得分:2)

您可以使用coalesce包中的dplyr轻松将这两个dfs合并为一个。

library(dplyr)

首先是df

df <- data.frame(
  x1 = c(NA, NA, 3),
  x2 = c('Male', 'Female', NA),
  x3 = c(3, 7, 5)
)

第二个df

df1 <- data.frame(
  x4 = c(3, 4, NA),
  x5 = c(NA, NA, 'Male'),
  x6 = c(NA, NA, NA)
)

解决方案:

df3 <- coalesce(df1, df2)
df3

#  x1     x2 x3
#1  3   Male  3
#2  4 Female  7
#3  3   Male  5