即使这个线程有点旧,我相信有些人仍然试图在这个线程中找到解决方案。因此,我想添加一个示例,您如何使用mice 包进行回归插补:
library("mice")
# Example data
data <- data.frame(x1 = c(1, 6, 15, 8, 5, 1, 7, 4),
x2 = c(2, 13, 12, 1, 6, 6, 1, 2),
x3 = c(NA, 7, 3, NA, 1, 2, 7, 3),
x4 = c(4, 1, 12, 7, 12, 1, 6, 6),
x5 = c(5, 11, NA, 8, 8, 11, 5, 6),
x6 = c(6, 4, 8, 9, 3, 9, 6, 12),
x7 = c(14, NA, 3, 4, 12, 5, 10, 10),
x8 = c(5, 9, 7, 6, 12, 2, 6, 3),
x9 = c(2, 6, 12, 1, 2, 2, 7, 1))
# Deterministic regression imputation via mice
imp <- mice(data, method = "norm.predict", m = 1)
# Store data
data_imp <- complete(imp)
对于更大的数据集,您还可以使用“norm.nob”方法将随机误差项添加到估算值:
# Stochastic regression imputation
imp <- mice(data, method = "norm.nob", m = 1)
您可以在以下两个链接中找到有关回归插补的更多信息:
R中的确定性与随机回归插补和示例
小鼠作者 Stef van Buuren 缺失数据的灵活插补