在 R 中使用 mouse() 进行插补后观察值发生显着变化

问题描述 投票:0回答:1

我的数据有大量缺失值,因此我无法使用 na.omit() 默认值对我的数据集进行下游分析,因为即使有一个值缺失,这也会删除整行。据我了解,mice 包是执行如此多的连续数据插补的可靠方法,但在执行complete() 函数后,我的观察数量从 ~60 跃升至 300。

这是我的代码,跳转似乎在其中:

使用小鼠估算缺失值。 mydata:30 个变量的 58 个数据

imputed_data <- mice(mydata, m = 5, method = "pmm", seed = 123)

汇集估算数据集 - 这是我的数据框在结构上似乎发生很大变化的地方。 pooled_data 变成 32 个变量的 290obs

pooled_data <- complete(imputed_data, "long", include = FALSE)

为什么会出现这种情况,我是否仍然能够对此数据框进行下游降维和统计测试,并使其能够代表原始数据集?这是我的估算目标。如果有更好的方法来执行这种插补,我也很有兴趣学习。预先感谢!

r cluster-analysis imputation dimensionality-reduction
1个回答
0
投票

好吧,您显然使用了

m=5
(默认值),这会产生 5 个估算数据集,以及
5*60 == 300
;您可能已经注意到新的
.imp
列,m 代表插补 ID。建议使用更高的 m 值(请参阅我各自的 answer)。估算数据集略有不同,这代表了估算的不确定性。您可以进行任何分析,您的估计将是 m 分析的平均值。为了计算方差,按照 Rubin,您应该考虑插补内变异性和插补过程本身引入的额外不确定性,请参阅there

© www.soinside.com 2019 - 2024. All rights reserved.