Skip to contents

Imputes multivariate incomplete data among which there are specific relations, for instance, polynomials, interactions, range restrictions and sum scores.

Usage

mice.impute.mpmm(data, format = "imputes", ...)

Arguments

data

matrix with exactly two missing data patterns

format

A character vector specifying the type of object that should be returned. The default is format = "imputes".

...

Other named arguments.

Value

A matrix with imputed data, which has ncol(y) columns and sum(wy) rows.

Details

This function implements the predictive mean matching and applies canonical regression analysis to select donors fora set of missing variables. In general, canonical regressionanalysis looks for a linear combination of covariates that predicts a linear combination of outcomes (a set of missing variables) optimally in a least-square sense (Israels, 1987). The predicted value of the linear combination of the set of missing variables would be applied to perform predictive mean matching.

Note

The function requires variables in the block have the same missingness pattern. If there are more than one missingness pattern, the function will return a warning.

Author

Mingyang Cai and Gerko Vink

Examples

# simulate data
beta2 <- beta1 <- .5
x <- rnorm(1000)
e <- rnorm(1000, 0, 1)
y <- beta1 * x + beta2 * x^2 + e
dat <- data.frame(y = y, x = x, x2 = x^2)
m <- as.logical(rbinom(1000, 1, 0.25))
dat[m, c("x", "x2")] <- NA

# impute
blk <- list("y", c("x", "x2"))
meth <- c("", "mpmm")
imp <- mice(dat, blocks = blk, method = meth, print = FALSE,
    m = 2, maxit = 2)

# analyse and check
summary(pool(with(imp, lm(y ~ x + x2))))
#>          term    estimate  std.error  statistic         df      p.value
#> 1 (Intercept) 0.006634165 0.04142233  0.1601592  31.917536 8.737650e-01
#> 2           x 0.537504457 0.04858813 11.0624653   2.935602 1.745179e-03
#> 3          x2 0.508113849 0.02291089 22.1778289 366.886010 9.732350e-70
with(dat, plot(x, x2, col = mdc(1)))
with(complete(imp), points(x[m], x2[m], col = mdc(2)))