我正在研究如何使用多重插补结果。以下是我的理解,如有错误请指出。
假设您有一个包含缺失值的数据集,并且您想要进行回归分析。您可以对 m = 5 次执行多重插补,并且对于每个插补数据集(现在有 5 个插补数据集)运行回归分析,然后通过 Rubin 规则(或使用 R)“汇集”这些 m = 5 模型的系数估计值包“池”)。
我的问题是,在小鼠中你有一个函数
complete()
,手册说你可以使用complete(object)
提取完整的数据集。
但是如果我使用鼠标 m = 5 次,那么使用
complete()
仍然有意义吗?我会 complete()
获得哪些插补结果?
另外,如果我只使用 m = 1 的小鼠,这有意义吗?谢谢你。
您可能忽略了参数中的
mice::complete()
使用action=1
作为默认值,其中“返回第一个估算数据集”(参见?mice::complete
),实际上是毫无价值。
您绝对应该使用
action="long"
来考虑多重插补的“多重性”!
不,使用
m=1
(除了调试)根本没有任何意义,因为每个插补都是基于随机过程,并且您必须汇集结果(使用任何方法)来解释变化。通常推荐m > 20
1,2。
基本上,多重插补的工作原理如下:
(另请参阅多重插补简而言之以获取简要概述。)
当您使用
mice
时,您得到的对象不是估算数据集。如果不使用mice
中的特殊功能,则无法直接对其进行操作。如果要提取实际的插补数据集,请使用 complete
,其输出是一个 data.frame,每个插补每个人一行(如果使用 "long"
格式)。如果您正在使用无法在 mice
内执行的估算数据进行任何分析,则需要首先创建此数据集。