The MICE package in R allows you to post-process imputed values, such that if impossible/unreasonable values are imputed (men being pregnant, people weighing negative pounds), they can be changed as you see fit before they are themselves used to impute other variables' values. Regarding this post-processing, the authors' companion article says: "be careful not the [sic] introduce any NA's if the variable is to be used as a predictor for another variable" (https://www.jstatsoft.org/article/view/v045i03). What's the basis for this concern? It's not a technical necessity, as the following example makes clear; here I post-process chl
to be missing for those who are in the oldest age category, chl
is used as a predictor for bmi
and hyp
, and everything seems to go through fine.
require(mice)
nhanes2
ini <- mice(nhanes2, max=0, print=F)
ini$post["chl"] <- "is.na(imp[[j]][,i]) <- data$age[!r[,j]]=='60-99'"
ini$predictorMatrix
imp <- mice(nhanes2, post=ini$post, print=F)
complete(imp)
Obviously, the NAs will result in "less accurate" imputations of the other variables than if I kept the imputed values, but if the imputed values make no substantive sense, then their effect on the imputing of the other variables would make no substantive sense either (in my actual case, I am imputing survey data on presidents' perceived issue positions, and I want to impute, for example, USSR policy, but set it to NA after 1991). So my real question is, is there some invalid statistical operation that these post-processed NAs might be leading to, in this context or any context, even if the post-processed variable is used as a predictor in the imputation model? Or can I safely disregard the authors' words of caution if I have good substantive reason to introduce those NAs?