preLoglin
and
missmodel
. A default method operates on matrices and data frames.
impLoglin(object, ...)
preLoglin
or
missmodel
.
nimpute
which specifies the number of imputations. See the specific
method for a list of all arguments.
mi
(multiple imputations) object is returned.
The exact structure depends on the
structure of the original data.
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,
impLoglin
may be used to
produce multiple imputations in one of two ways: (1)
one long chain or (2) parallel chains.
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.
#create starting values crime.em <- emLoglin(crime, frequency = count) start.crime <- crime.em$paramIter[rep(2,5),] crime.imp <- impLoglin(crime, frequency=count, prior = 0.5, start = start.crime, control = list(niter = 100, seed=0)) impLoglin.default(crime, frequency=count, prior = 0.5, start = start.crime, control = list(niter = 100, seed=0)) # same as crime.imp #The following four ways of calling impLoglin are equivalent # (if the same seed is used, e.g. set.seed(0)): start1 <- crime.em$paramIter[2, , drop=T] # a vector crime.pre <- preLoglin(data = crime, frequency=count) impLoglin(crime, frequency=count, nimpute = 5, start = start1) impLoglin.default(crime, frequency=count, nimpute = 5, start = start1) impLoglin(object = crime.pre, nimpute = 5, start = start1) impLoglin.preLoglin(object = crime.pre, nimpute = 5, start = start1) # The following two are equivalent: impLoglin(crime.em, nimpute = 5) impLoglin.missmodel(crime.em, nimpute = 5)