Impute Both Factor and Numeric Data

DESCRIPTION:

Impute numeric and factor data under a Conditional Gaussian Model using data augmentation.

This function is generic (see Methods); method functions can be written to handle specific classes of data. Classes which already have methods for this function include: preCgm and missmodel. A default method operates on matrices and data frames.

USAGE:

impCgm(object, ...) 

REQUIRED ARGUMENTS:

object
a matrix, data frame, or an object of class "preCgm" or "missmodel".

OPTIONAL ARGUMENTS:

...
additional arguments including those needed in functions for data augmentation. In addition, all methods may require the argument nimpute which specifies the number of imputations. See the specific method for a list of all arguments.

VALUE:

An mi (multiple imputations) object is returned; see and for details.

DETAILS:

Producing proper multiple imputations using data augmentation requires that the sequence of parameters and imputations has converged to stationarity. The concept of stationarity important to multiple imputation is that the imputations are approximately independent draws from the conditional distribution of the missing data, given the observed data. You may assess stationarity using a variety of S-PLUS functions.

Once stationarity is reached, impCgm may be used to produce multiple imputations in one of two ways: (1) one long chain or (2) parallel chains.

REFERENCES:

Best, N. G., Cowles, M. K. and Vines, S. K. (1997), CODA Convergence, Diagnosis and Output Analysis Software for Gibbs sampling output , Version 0.4., Cambridge: Medical Research Council Biostatistics Unit.

Gilks, W.R., Richardson, S. and Spiegelhalter, D. J., editors (1996), Markov Chain Monte Carlo in Practice , London: Chapman and Hall.

Schafer, J. L. (1997), Analysis of Incomplete Multivariate Data , Chapman & Hall, London.

SEE ALSO:

, , , , , , , .

EXAMPLES:

# See help files for emCgm() and daCgm() to create
#  language.da and language.em, which are
#  used as a starting values for the imputation algorithm.

#Generate 10 imputations, using a single chain
#with 250 cycles between imputations
language.imp <- impCgm(language.da, nimpute = 10,
                       control = list(niter = 250))
impCgm.missmodel(language.da, nimpute = 10,
                       control = list(niter = 250)) #same
miPrint(language.imp)

#extract the second set of imputations
miSubscript(language.imp, 2)

impCgm(language.da, nimpute = 10, control = list(niter = 250))