I have 40 continuous variables with missing data.

I imputed the missing data using predictive mean matching through the MICE package in R, I did 5 iterations for each imputation.

My question is how do I choose which iteration to use for the whole dataset?

I know that for each variable it should be as close as possible to the original mean, however say I choose the 5th iteration for one variable- as I can see the new mean is the closest to the original mean- that same iteration may not be the best one to choose for the other 39 variables.

So do I have to do separate imputations for each of the 40 variables on 40 separate datasets, export those datasets and then combine them all at the end?

Or is it safe to just choose any of the iterations and apply it to all 40 variables in one go?

Note: I can't pool the data into a model because this specific dataset only contains my dependent variables. (They are in a different format to my independent variables, so I need to first impute the data and then average each variable, input those averages into another dataset with the predictor variables, and then finally run a model with those averages and my predictor variables)


1 Answer 1


Multiple imputation using the chained equation approach of mice imputes all variables in an imputation cycle. When multiple variables are missing on the same observation you need to have some burn-in cycles to get past some of the arbitrariness of which variable was imputed first. Current guidance on how many imputations to keep is one imputation for every 1% of observations that have at least one missing variable. You don't pick and choose from among the imputations. If you have m imputations you'll get m completed datasets, do m separate analyses, and combine the parameter estimates and standard errors using Rubin's rule. So you don't choose one imputation for one variable and another imputation for another, out of the m imputations. Details are in the Missing Data chapter in rms. This chapter also describes the aregImpute and fit.mult.impute functions in the R Hmisc package. aregImpute uses predictive mean matching with chained equations but allows all effects to be nonlinear, unlike the linearity assumptions used in mice.

  • $\begingroup$ Hi Frank thank you for this detailed answer to my question. I have 30% of my total observations missing, would this require 30 cycles of imputation? $\endgroup$
    – Paige Cox
    Commented Apr 22, 2022 at 13:57
  • $\begingroup$ Yes, 30 imputed values for each missing value, i.e., 30 filled-in datasets, 30 analyses. $\endgroup$ Commented Apr 22, 2022 at 16:51
  • $\begingroup$ Okay thank you! $\endgroup$
    – Paige Cox
    Commented Apr 23, 2022 at 5:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.