我正在使用svydesign分析插补数据集但我收到错误。以下是代码:
library(mitools)
library(survey)
data(nhanes)
nhanes$hyp <- as.factor(nhanes$hyp)
imp <- mice(nhanes,method=c("polyreg","pmm","logreg","pmm"), seed = 23109)
des<-svydesign(id=~1, strat=~age, data=imputationList(imp))
Error in as.data.frame.default(data, optional = TRUE) : cannot coerce class ""call"" to a data.frame
我正在关注此页面的教程: http://r-survey.r-forge.r-project.org/survey/svymi.html
如何修改代码才能使用?
编辑:
我将data=imputationList(imp)
更改为data=complete(imp,1)
,我能够使代码正常工作。然而,这是没有效率的,因为我必须对我所有的估算集进行此操作。使用imputationList
时会有什么问题吗?
答案 0 :(得分:0)
BlockController<WeekletterBlock>
生成结果,mice()
需要包含估算值的所有五个imputationList
的列表,但您需要使用data.frame
来构建这五个已完成的{ {1}}对象
mice::complete