【发布时间】:2021-06-17 03:43:42
【问题描述】:
我正在尝试使用 Survey 分析复杂的调查数据。我用鼠标对丢失的数据进行了插补,并按照文档中的说明,将插补转换为具有 mitools 中的 imputationList() 的 imputationList 对象。但是当我尝试将该对象用作 svydesign() 中的数据时,我收到以下错误消息:
Error in as.data.frame.default(yrbs_complex_imputationList) :
cannot coerce class ‘"imputationList"’ to a data.frame
按照 StackOverflow 其他地方提供的示例,我尝试将 mitools 函数直接合并到 svydesign 公式中:
yrbs_svyimputationList<-svydesign(ids="psu", probs = NULL, strata = "stratum", variables = NULL, fpc = NULL, data=imputationList(yrbs_complex_imputations), nest = TRUE, check.strata = !nest, weights, pps=FALSE)
但这导致了不同的错误消息:
Error in as.data.frame.default(x[[i]], optional = TRUE) :
cannot coerce class ‘"function"’ to a data.frame
如何将多重估算数据合并到调查设计对象中?
【问题讨论】:
-
也许尝试使用mice::complete() 分别提取每个插补数据集?然后使用鲁宾的方法组合估计
-
谢谢。我终于发现我需要做两件事:在 imputationList() 的参数中的每个变量名之前放置一个 ~,然后将 imputationList() 调用合并到 svydesign 对象的创建中,而不是作为一个单独的步骤进行.一切都很好。
标签: r dataframe survey imputation