我正在使用 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
我如何修改代码才能使其工作?
EDIT:
我改变data=imputationList(imp)
to data=complete(imp,1)
我能够使代码工作。但是,这效率不高,因为我必须对所有估算集执行此操作。使用有什么问题吗imputationList
?
mice()
产生结果和imputationList
需要所有五个的列表data.frame
与估算值,但您需要使用mice::complete
建造这五个已完成的data.frame
objects
library(mitools)
library(survey)
library(mice)
data(nhanes)
nhanes$hyp <- as.factor(nhanes$hyp)
imp <- mice(nhanes,method=c("polyreg","pmm","logreg","pmm"), seed = 23109)
imp_list <- lapply( 1:5 , function( n ) complete( imp , action = n ) )
des<-svydesign(id=~1, strat=~age, data=imputationList(imp_list))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)