## ----step0----------------------------------------------------- options(width = 65) suppressMessages(library(mi)) data(nlsyV, package = "mi") ## ----step1----------------------------------------------------- mdf <- missing_data.frame(nlsyV) ## ----step1.5--------------------------------------------------- show(mdf) # momrace is guessed to be ordered ## ---- step2---------------------------------------------------- mdf <- change(mdf, y = c("income", "momrace"), what = "type", to = c("non", "un")) show(mdf) ## ---- step3---------------------------------------------------- summary(mdf) image(mdf) hist(mdf) ## ---- step4---------------------------------------------------- rm(nlsyV) # good to remove large unnecessary objects to save RAM options(mc.cores = 2) imputations <- mi(mdf, n.iter = 30, n.chains = 4, max.minutes = 20) show(imputations) ## ---- step5A--------------------------------------------------- round(mipply(imputations, mean, to.matrix = TRUE), 3) Rhats(imputations) ## ---- step5B--------------------------------------------------- imputations <- mi(imputations, n.iter = 5) ## ---- step6---------------------------------------------------- plot(imputations) plot(imputations, y = c("ppvtr.36", "momrace")) hist(imputations) image(imputations) summary(imputations) ## ---- step7---------------------------------------------------- analysis <- pool(ppvtr.36 ~ first + b.marr + income + momage + momed + momrace, data = imputations, m = 5) display(analysis) ## ---- step8---------------------------------------------------- dfs <- complete(imputations, m = 2)