我有一个包含定量和定性变量的数据框,并包含许多缺失值
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
我正在考虑申请但不确定如何有效地实施
答案 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