Skip to contents

This function finds matches among the observed data in the predictive mean metric. It selects the donors closest matches, randomly samples one of the donors, and returns the observed value of the match.


.pmm.match(z, yhat = yhat, y = y, donors = 5, ...)



A scalar containing the predicted value for the current case to be imputed.


A vector containing the predicted values for all cases with an observed outcome.


A vector of length(yhat) elements containing the observed outcome


The size of the donor pool among which a draw is made. The default is donors = 5. Setting donors = 1 always selects the closest match. Values between 3 and 10 provide the best results. Note: This setting was changed from 3 to 5 in version 2.19, based on simulation work by Tim Morris (UCL).


Other parameters (not used).


A scalar containing the observed value of the selected donor.


This function is included for backward compatibility. It was used up to mice 2.21. The current mice.impute.pmm() function calls the faster C function matcher instead of .pmm.match().


Schenker N & Taylor JMG (1996) Partially parametric techniques for multiple imputation. Computational Statistics and Data Analysis, 22, 425-446.

Little RJA (1988) Missing-data adjustments in large surveys (with discussion). Journal of Business Economics and Statistics, 6, 287-301.


Stef van Buuren