【发布时间】:2017-03-14 14:16:13
【问题描述】:
如何通过链式运行多元插补 此数据集的带有 mouse() 的方程,使用第 1:10 行,但仅预测第 #11 行?
library(mice)
library(car)
df = mtcars[c(1:10), c(3:5)]
df[c(1:3), c(1)] = NA
df[c(4:7), c(2)] = NA
df[c(8:10), c(3)] = NA
df[nrow(df) + 1, names(df)] <- NA
disp hp drat Mazda RX4 NA 110 3.90 Mazda RX4 Wag NA 110 3.90 Datsun 710 NA 93 3.85 Hornet 4 Drive 258.0 NA 3.08 Hornet Sportabout 360.0 NA 3.15 Valiant 225.0 NA 2.76 Duster 360 360.0 NA 3.21 Merc 240D 146.7 62 NA Merc 230 140.8 95 NA Merc 280 167.6 123 NA 11 NA NA NA
imp = mice(df, m = 10, seed = 52545, print = FALSE)
这段代码运行完美,但mice() 试图预测所有的NA。我不想花费资源来计算这些,我只需要预测第 11 行。
【问题讨论】:
-
关于如何在 R 中编码的问题不在此处讨论。这应该是关于Stack Overflow 的主题,所以如果您等待,我们将尝试将其迁移到那里。
-
@gung 对不起,我之前也是这么想的。我可以帮助您加快迁移速度吗?
-
没问题。为加快迁移速度,您可以点击标签下方淡灰色的“旗帜”,让版主帮您迁移。
-
如果您唯一关心的是计算资源,那么您试图实现的目标根本没有任何意义。因为,多重插补过程中计算量最大的部分涉及模型构建阶段,其中对于具有缺失值的每一列,使用所有可用数据基于剩余列构建预测模型。简单地根据模型替换缺失值是微不足道的,与整个插补过程相比,将使用可忽略不计的资源量。
-
@Ahmedov 感谢您的关注。目前,我对任何形式的计算改进都很满意。