Это продолжение моего предыдущего поста
Ошибка svydesign с использованием вмененных наборов данных
Я хотел бы запустить функцию rake()
в моем вмененном наборе данных. Однако, похоже, он не находит входную переменную. Ниже приведен пример кода:
library(mitools)
library(survey)
library(mice)
data(nhanes)
nhanes2$hyp <- as.factor(nhanes2$hyp)
imp <- mice(nhanes2,method=c("polyreg","pmm","logreg","pmm"), seed = 23109)
imp_list <- lapply( 1:5 , function( n ) complete( imp , action = n ) )
des<-svydesign(id=~1, data=imputationList(imp_list))
age.dist <- data.frame(age = c("20-39","40-59", "60-99"),
Freq = nrow(des) * c(0.5, 0.3, .2))
small.svy.rake <- rake(design = des,
sample.margins = list(~age),
population.margins = list(age.dist))
Error in eval(expr, envir, enclos) : object 'age' not found
Код работает, если я изменяю входные данные на один набор данных. То есть вместо des<-svydesign(id=~1, data=imputationList(imp_list))
у меня это
data3 <- complete(imp,1)
des<-svydesign(id=~1, data=data3)
Как я могу отредактировать код так, чтобы он распознал, что набор входных данных в функции rake()
имеет тип множественного вменения?