Closed edbonneville closed 3 years ago
Thanks for your suggestion. More generally, mice
does not need to iterate when imputing a monotone missing data patterns.
A complication is that a user-specified where
argument to the mice()
function could break the monotone pattern, even if the missing data occur in only one variable. Also, a user-specified block
argument complicates checking. So, while I am sympathetic to the idea, checking the conditions when exactly the message should be printed is less trivial that it appears. Since "iterating too much" does not hurt in any way (apart from a slight increase of calculation time), I will leave it as-is.
Understandable - thanks for considering.
Dear mice team,
I have noticed when using
mice()
on data where a single variable has missing values that the defaultmaxit = 5
is still used, despite no cycles being needed since it is univariate imputation. For example:I was wondering in this case whether it could be worth including either a message/warning for when
maxit > 1
, or changing tomaxit = 1
internally? So only done whenpredictorMatrix
has only a single row with non-zero values.Giving a message is the approach taken in the Stata implementation of mice, see the relevant JSS article (section 6.2) which prints: "Only 1 variable to be imputed, therefore no cycling needed"
I think it could be an informative message for those new to imputation (and save a little computation time), but also understand if you choose to leave as is.
Thanks!