【发布时间】:2020-08-15 10:14:47
【问题描述】:
我正在尝试使用 amelia 使用单个期望最大化插补来插补我的数据。但是,我的样本中有两组,其中一些没有收到所有的调查项目。因此,我不想对这些参与者的反应进行估算。如果参与者对'Seen.Psychologist' 项目回答'yes',如果他们回答'no',则向他们提供所有项目,因为它们不相关,所以没有向他们提供16 个项目。这些参与者未收到以下变量:CulturalSafety_var、"Practical"、"Referral" 和 "Wait.time"。
我目前的估算如下。
am_imp <- amelia(x = data[, c(SafetyBehaviour_var, CulturalSafety_var,
Anxiety_var, SelfStigma_var, Disclosure_var,
PublicStigma_var, Motivation_var,
NonAttendance_var, "Employment", "Education",
"Referral", "Ethnicity", "Wait.time", "Practical")],
noms = c("Practical"),
m = 1,
boot.type = "none")
一种选择是不将这些项目包括在插补中,但随后会遇到脚本其余部分的其他问题。例如,当我将估算数据与原始数据集结合起来时。
另一种解决方法(根据我的主管的建议)如下:
仅使用每个人都应该看到的变量对整个样本进行第一轮插补。
如果参与者同意看心理学家并仅使用那些参与者,则仅使用提供的变量进行第二轮插补。
结合(rbind)来自 #2 的插补数据与那些没有看过心理学家的参与者的变量行(一大堆完全缺失的数据)
组合 (cbind) 来自 #1 和 #3 的插补数据集以及您未应用插补的任何其他剩余变量,注意数据集中参与者的顺序。
但是,这意味着插补不会那么准确,因为它们仅基于变量的子集。
我希望有一位很棒的 amelia 大师,他可能有一个建议我可以尝试....
【问题讨论】:
标签: r imputation