'mice'R程序包不估算数据

时间:2018-10-30 23:10:24

标签: r na r-mice

我进行了回归以替换数据集中的缺失数据,并希望将其与Stef va Buuren使用'mice'软件包的结果进行比较

我在经过交叉验证的Post链接上引用了此链接

我也在阅读与此相似的语法和用法。

我的代码是:

cheerio

当我输出时:

imp <- mice(without_response, method = "norm.predict", m = 1) 
#Impute data
imp_with_mice <- complete(imp) # Store data

要获取需要插入的行,不会替换任何值。我本来有?丢失的数据在哪里。我现在尝试将“ NA”作为字符串,然后将不带引号的NA类似于简历。

在任何情况下,我都无法让鼠标用任何东西代替我的16列7值。

请帮助我使用

这些是我希望替换变量的行的示例:

imp_with_mice[impute_here,]

另外,当它运行时,我得到此显示。

      V1  V2 V3 V4 V5 V6 V7 V8 V9 V10 
24 1057013 8  4 5   1  2 NA  7  3  1 
41 1096800 6  6 6   9  6 NA  7  8  1

警告消息:

iter imp variable 1 1 2 1 3 1 4 1 5 1

其他信息:

“Number of logged events: 1”

1 个答案:

答案 0 :(得分:1)

据我所知,您的问题和数据集(如我在一个可重现的示例之前所说的那样会很有帮助),我怀疑问题在于V7仅具有NA和常数。这就是记录的事件警告您的内容。 mice无法估算此类变量,因为它没有依据来预测缺失值应为多少。

mice(... method = "norm.predict")的工作原理是根据缺失值的变量与数据集中其他变量之间的线性回归来估算合理值。它使用现有数据对合理值进行预测。但是,由于V7是一个常数,因此没有方差,也没有与其他变量的协方差。因此,无法进行预测。在这种情况下不能使用多重插补。除了假设V7中的所有值都是常数(即均值插值)之外,没有任何合理的插值方法。请注意,如果此假设无效,则此操作存在一些主要缺点。您最好的选择是按列表删除。