我从调查问卷中得到了这些数据。为了探索数据并估算NA,我必须使用单独的数据集。这里有一些虚拟代码,你可以看到我的多个df(每个年龄类别一个单独的df):
library(mice)
set.seed(4711)
sex <- rbinom(20, 1, 0.5)
age_categories <- c("00_08", "09_10", "11_12", "13_14", "15plus")
age_cat <- sample(age_categories, 20, replace = TRUE)
df <- data.frame(replicate(10,sample(c(1:5, NA),20,rep=TRUE)))
df <- cbind(age_cat, sex, df)
for (i in age_categories){ assign(paste0("to_imp_", i), df[df$age_cat == i,-1])}
我想用这些df来创建一个&#39; imp&#39;每个df的对象,如:
imp_00_08 <- mice(to_imp_00_08, printFlag = FALSE)
imp_09_10 <- mice(to_imp_09_10, printFlag = FALSE)
等等。
但我当然希望以更智能的方式减少编程。我试过了:
for (p in age_categories){ assign(paste0("imp_", p), mice(paste0("to_imp_", p)))}
但是这当然会引发错误,因为第二部分mice(paste0("to_imp_", p))
并没有告诉老鼠用R对象做某事,而是用文本做。
我还尝试了所有对象的列表,但我也似乎无法使其正常工作。希望你们其中一个真正聪明的人可以帮助我。