首页 > 解决方案 > R - 替换数据框中的 NA

问题描述

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

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

我正在考虑申请,但不确定如何有效地做到这一点

标签: r

解决方案


coalesce您可以使用from dplyrpackage轻松地将这两个 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

推荐阅读