Learn R Programming

miceadds (version 1.5-0)

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 class 'mids.nmi':
summary(object, ...)

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.

Value

  • Object of class mids.nmi with entries
  • impList of nested multiply imputed datasets whose entries are of class mids or mids.1chain.
  • NimpNumber of between and within imputations.

References

Rubin, D. B. (2003). Nested multiple imputation of NMES via partially incompatible MCMC. Statistica Neerlandica, 57(1), 3-18.

See Also

For imputation models see mice::mice and mice.1chain. Functions for analysis for nested multiply imputed datasets: complete.mids.nmi, with.mids.nmi, pool.mids.nmi

Examples

Run this code
#############################################################################
# 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 <- 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 <- mice.nmi( datlist , imputationMethod=impMethod , predictorMatrix=predM, 
                m=4 , maxit=3 )
summary(imp1)

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

Run the code above in your browser using DataLab