Learn R Programming

miceadds (version 3.17-44)

mice.nmi: Nested Multiple Imputation

Description

Performs nested multiple imputation (Rubin, 2003) for the functions mice::mice and mice.1chain. The function mice.nmi generates an object of class mids.nmi.

Usage

mice.nmi(datlist, type="mice", ...)

# S3 method for mids.nmi summary(object, ...)

# S3 method for mids.nmi print(x, ...)

Value

Object of class mids.nmi with entries

imp

List of nested multiply imputed datasets whose entries are of class mids or mids.1chain.

Nimp

Number of between and within imputations.

Arguments

datlist

List of datasets for which nested multiple imputation should be applied

type

Imputation model: type="mice" for mice::mice or type="mice.1chain" for mice.1chain.

...

Arguments to be passed to mice::mice or mice.1chain.

object

Object of class mids.nmi.

x

Object of class mids.nmi.

References

Rubin, D. B. (2003). Nested multiple imputation of NMES via partially incompatible MCMC. Statistica Neerlandica, 57(1), 3-18. tools:::Rd_expr_doi("10.1111/1467-9574.00217")

See Also

For imputation models see mice::mice and mice.1chain.

Functions for analyses of nested multiply imputed datasets: complete.mids.nmi, with.mids.nmi, pool.mids.nmi

Examples

Run this code
if (FALSE) {
#############################################################################
# EXAMPLE 1: Nested multiple imputation for TIMSS data
#############################################################################

library(BIFIEsurvey)
data(data.timss2, package="BIFIEsurvey" )
datlist <- data.timss2
   # list of 5 datasets containing 5 plausible values

#** define imputation method and predictor matrix
data <- datlist[[1]]
V <- ncol(data)
# variables
vars <- colnames(data)
# variables not used for imputation
vars_unused <- miceadds::scan.vec("IDSTUD TOTWGT  JKZONE  JKREP" )

#- define imputation method
impMethod <- rep("norm", V )
names(impMethod) <- vars
impMethod[ vars_unused ] <- ""

#- define predictor matrix
predM <- matrix( 1, V, V )
colnames(predM) <- rownames(predM) <- vars
diag(predM) <- 0
predM[, vars_unused ] <- 0

#***************
# (1) nested multiple imputation using mice
imp1 <- miceadds::mice.nmi( datlist, method=impMethod, predictorMatrix=predM,
                m=4, maxit=3 )
summary(imp1)

#***************
# (2) nested multiple imputation using mice.1chain
imp2 <- miceadds::mice.nmi( datlist, method=impMethod, predictorMatrix=predM,
            Nimp=4, burnin=10,iter=22, type="mice.1chain")
summary(imp2)
}

Run the code above in your browser using DataLab