使用估算数据集的 svydesign 出错
Error with svydesign using imputed data sets
我正在使用 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
有什么问题吗?
mice()
生成结果,imputationList
需要所有五个 data.frame
的列表以及估算值,但您需要使用 mice::complete
来构造这五个已完成 data.frame
个对象
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))
我正在使用 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
有什么问题吗?
mice()
生成结果,imputationList
需要所有五个 data.frame
的列表以及估算值,但您需要使用 mice::complete
来构造这五个已完成 data.frame
个对象
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))