Combine Multiple Imputation Inferences

DESCRIPTION:

Average estimates, and compute combined standard errors or covariance estimates from multiple analyses on imputed data sets.

miMeanSEAux is generic (see Methods); method functions can be written to handle specific classes of data. Classes which already have methods include: lm.

USAGE:

miMeanSE(object, ...) 
miMeanSEAux(object1, object, ...) 
# Remaining functions are described in separate help files 
miMeanSEDefault(estimate, se, df = NA, n = df+k, sse = F, cov, ...) 
miMeanSEMatrix(object, columns = 1:2, ...) 
miMeanSEList(object, estimate = "estimate", se = "se", df = "df", 
             n = "n", sse = F, cov, ...) 
miMeanSEAux.lm(object1, object, ...) # lm objects 

REQUIRED ARGUMENTS:

object
a multiple imputation object; see "DETAILS" below for possible formats.
object1
same as miSubscript(object, 1); used for dispatching.

OPTIONAL ARGUMENTS:

...
additional arguments to be passed to methods for miMeanSEAux.

VALUE:

list with components:
est
average of the estimates across imputations.
std.err
standard errors for the estimates, based on the average of the squared standard errors across imputations and the between-imputation variances of the estimates.
df
estimated degrees of freedom, based on the complete-data degrees of freedom, estimated fraction of missing information, and variance due to simulation (with finite numbers of imputations).
m
number of multiple imputations
r
relative increase in variance due to nonresponse.
fminf
estimated fraction of missing information due to nonresponse.

If cov is supplied in the input, then the following component is added to the returned list:
cov
covariance matrix for est; diagonal elements of this match the squared std.err.

DETAILS:

This function computes averages (across multiple imputations) of estimates, and computes standard errors or covariance matrices for those estimates, based on the individual standard errors or covariances and the variability of the estimates across imputations.

miMeanSE checks that all imputations have the same class, then calls generic function miMeanSEAux which dispatches based on that class (the method to use in combining multiple imputations depends not on the class of object but rather on the class of the imputations of object). For example, if object is an miList object whose imputations are lm objects, then miMeanSEAux dispatches to its lm method. Use getMethods("miMeanSEAux") to see what methods have been defined.

The ultimate workhorse is miMeanSEDefault. miMeanSE and miMeanSEAux together serve as a front end for miMeanSEDefault.

Other front ends for miMeanSEDefault are miMeanSEList and miMeanSEMatrix. These require multiple imputation objects whose imputations correspond respectively to (1) lists whose elements are estimates, standard errors, etc. or (2) matrices whose first two columns (by default) are estimates and standard errors.

REFERENCES:

Hesterberg, T. (1998). Combining multiple imputation t, chi-square, and F inferences , Insightful Technical Report number 75.

Rubin, D. B. (1987), Multiple imputation for nonresponse in surveys , John Wiley, New York.

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

SEE ALSO:

, , , , , .

EXAMPLES:

fit <- miEval(lm(chol14~., data = cholesterolImpExample)) 
# Best choice in this example is to use the lm method, 
# which extracts all needed info, & produces estimates,  
# standard errors, and covariance estimates for coefficients 
miMeanSE(fit) 
# Various other ways to do calculations are below; 
# these require estimates and standard errors 
sumfit <- miEval(summary(fit)) 
coefs <- miEval(coef(sumfit)) 
coefs[[1]]  # note estimates and std errors 
# pass estimates and standard errors 
miMeanSE(miEval(coefs[,1]), miEval(coefs[,2])) 
# pass matrices, cols 1:2 are estimate & std err 
miMeanSEMatrix(coefs) 
# pass lists 
miMeanSEList(miEval(list(estimate = coefs[,1], 
                         se = coefs[,2]))) 
# Can add information to some of previous calls, e.g. 
# residual degrees of freedom 
miMeanSEMatrix(coefs, df = nrow(cholesterolImpExample)-3)