我在 R
中使用 mice
来估算随机丢失的数据 . 尝试在数据集中考虑条件或结构化 NAs
时,我遇到了问题 .
一个简单的数据集来说明问题:
TestData <- data.frame(Condition= c(1,1,1,1,2,NA,2,2),
Dependent1=c(1,NA,2,3,NA,NA,NA,NA),
Dependent2=c(1,12,44,1,NA,NA,NA,NA),
Dependent3=c(NA,2,3,5,NA,NA,NA,NA),
UnaffiliatedQ=c(1,NA,3,2,27,NA,32,35))
TestData$Condition <- factor(TestData$Condition,
levels = c(1,2),
labels = c("Yes","No"))
在此示例中,变量 Condition
是一个看门人问题,用于确定受访者是否需要填写接下来的三个问题 Dependent#
. 如果受访者回答"No"并且他/她没有看到接下来的三个问题,那么他们被标记为 NA
- 虽然技术上没有丢失 .
在这种情况下我该怎么办?如果我将 Condition
变量中的 NA
值与 Dependent1
, Dependent2
和 Dependent3
中的值一起归入 NA
值,我如何确保我不会在 Dependent#
中找到没有意义的值?
我已经考虑过可能的解决方案,但我认为没有任何解决方案是有效的或者是个好主意,例如,创建一个结构化的缺失值,例如 -999
基于条件答案对数据帧进行子集化 .
在阅读 mice
作者的文档和论文时,我在 mice
中没有看到任何关于此类情况的论点 . 另一种选择是,我只是在多次插入的兔子洞中运行,这不是正确使用它 .