r - 如何插补常量的条件行插补

标签 r missing-data imputation across rowwise

我是一个 R 新手,正在为看似简单的逻辑编写代码而苦苦挣扎,并且希望得到任何帮助!我试图为数据集每行中的 NA 单元格推定常量值 1,但仅限于具有 2 个或更少 NA 单元格的行。最终,我还将在插补后用行方式计算一个新列。如果一行代码自动实现所有这些事情,那就太棒了!

这是一个可供使用的示例数据集。

tData <- data.frame(subID=c(1001,1002,1003,1004),
b1=c(1,1,2,NA),
b2=c(NA,1,1,NA),
b3=c(NA,2,2,NA),
b4=c(2,NA,1,NA))

我一直在查看各种基础和 dplyr 代码示例,但我正在乘坐挣扎巴士。

最佳答案

您可以在这两行中执行此操作。

tData[is.na(tData) & rowSums(is.na(tData)) <= 2] <- 1
tData |> cbind(row_means=rowMeans(tData[-1]))
#   subID b1 b2 b3 b4 row_means
# 1  1001  1  1  1  2      1.25
# 2  1002  1  1  2  1      1.25
# 3  1003  2  1  2  1      1.50
# 4  1004 NA NA NA NA        NA

数据:

tData <- structure(list(subID = c(1001, 1002, 1003, 1004), b1 = c(1, 1, 
2, NA), b2 = c(NA, 1, 1, NA), b3 = c(NA, 2, 2, NA), b4 = c(2, 
NA, 1, NA)), class = "data.frame", row.names = c(NA, -4L))

关于r - 如何插补常量的条件行插补,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76748553/

相关文章:

r - 为什么输出 h2o.kmeans 函数中没有集群对象?

受试者在 lme4 中不工作的时间的随机斜率

r - R中缺失和审查数据的多重插补

machine-learning - 数据挖掘中的异常值处理

缺少数据的python scikit-learn聚类

python - 每列中的变量 fillna()

r - 多个估算数据集 - 汇集结果

r - 在 ggplot2 中与刻面一起创建华夫饼图

r - 将对象名称传递给 do.call() 函数

r - 如何从 theme_set() 选项继承带注释的文本样式