Learn R Programming

miceadds (version 3.17-44)

mice.impute.weighted.pmm: Imputation by Weighted Predictive Mean Matching or Weighted Normal Linear Regression

Description

Imputation by predictive mean matching or normal linear regression using sampling weights.

Usage

mice.impute.weighted.pmm(y, ry, x, wy=NULL, imputationWeights=NULL,
      pls.facs=NULL, interactions=NULL, quadratics=NULL, donors=5, ...)

mice.impute.weighted.norm(y, ry, x, wy=NULL, ridge=1e-05, pls.facs=NULL, imputationWeights=NULL, interactions=NULL, quadratics=NULL, ...)

Value

A vector of length nmis=sum(!ry) with imputed values.

Arguments

y

Incomplete data vector of length n

ry

Vector of missing data pattern (FALSE -- missing, TRUE -- observed)

x

Matrix (n x p) of complete covariates.

wy

Logical vector of length length(y). A TRUE value indicates locations in y for which imputations are created.

imputationWeights

Optional vector of sampling weights

pls.facs

Number of factors in PLS regression (if used). The default is NULL which means that no PLS regression is used for dimension reduction.

interactions

Optional vector of variables for which interactions should be created

quadratics

Optional vector of variables which should also be included as quadratic effects.

donors

Number of donors

...

Further arguments to be passed

ridge

Ridge parameter in the diagonal of \( \bold{X}'\bold{X}\)

Examples

Run this code
if (FALSE) {
#############################################################################
# EXAMPLE 1: Imputation using sample weights
#############################################################################

data( data.ma01)
set.seed(977)

# select subsample
dat <- as.matrix(data.ma01)
dat <- dat[ 1:1000, ]

# empty imputation
imp0 <- mice::mice( dat, maxit=0)

# redefine imputation methods
meth <- imp0$method
meth[ meth=="pmm"  ] <- "weighted.pmm"
meth[ c("paredu", "books", "migrant" ) ] <- "weighted.norm"
# redefine predictor matrix
pm <- imp0$predictorMatrix
pm[, 1:3 ] <- 0
# do imputation
imp <- mice::mice( dat, predictorMatrix=pm, method=meth,
           imputationWeights=dat[,"studwgt"], m=3, maxit=5)
}

Run the code above in your browser using DataLab