Skip to main content

Table 1 Summary of existing software implementations of PMM and LRD

From: Tuning multiple imputation by predictive mean matching and local residual draws

Software

Method

Command/instructions

Match

Option to

Default

Option to specify k*

Source of information

   

types

specify

value

  
   

available

match type†

of k*

  

R

PMM

mice.impute.pmm(mice package)

1

–

5

–

v2.18 documentation [12]

R

PMM

aregimpute (hmisc package)

1, 2

pmmtype = #

n h

kclosest = #

v3.13-0 documentation [22]

R

PMM

bbpmm (Baboon package)

?

–

?

–

v0.1-6 documentation [13]

R

PMM

mi.pmm (mi package)

?

–

?

–

v0.09-18.03 documentation [14]

SAS

PMM

regpmm (statement within proc mi)

2

–

?

K = #

SAS website [15]

SAS

PMM

midas[31]

?

–

n h

N/A donor selected from all h with probability proportional to a function of |δ hj |

Reference [31]

Solas

PMM

Analyze → Multiple Imputation → Predictive Mean Matching method…

0

–

10

Select ‘Use # closest cases’ option in ‘Donor pool’ tab.

Solas website [16]

SPSS

PMM

Analyze → Multiple Imputation → Impute Missing Data Values. Under the ‘Method’ tab select ‘Custom’, and under the menu for ‘Model type for scale variables’ select ‘Predictive Mean Matching (PMM)’.

?

–

1

–

SPSS website [17]

Stata

PMM

mi impute pmm

2

–

1

knn(#)

Help file for mi impute pmm[18]

Stata

PMM

ice, match

1, 2

matchtype(#)

10

matchpool(#)

Help file for ice

Stata

LRD

ice, match uvisopts(lrd)

1, 2

matchtype(#)

10

matchpool(#)

Help file for ice

  1. *Type 0 matches linear predictors for observed and missing values; type 1 uses a draw of parameters for missing values before matching; type 2 uses a draw of parameters for both observed and missing.
  2. † k is the size of the donor pool.