[R] Re: extracting datasets from aregImpute objects

Frank E Harrell Jr f.harrell at vanderbilt.edu
Sat Aug 14 16:10:25 CEST 2004

From: <david_foreman at doctors.org.uk>
Subject: [R] Re: extracting datasets from aregImpute objects
To: <r-help at stat.math.ethz.ch>
Message-ID: <1092391719_117440 at drn10msi01>
Content-Type: text/plain; charset="us-ascii"

I've tried doing this by specifying x=TRUE, which provides me with a 
single imputation, that has been useful.  However, the help file 
possibly suggests that I should get a flat-file matrix of n.impute 
imputations, presumably with indexing.  I'm a bit stuck using 
alternatives to aregImpute, as neither MICE nor Amelia seem to like my 
dataset, and Frank Harrell no longer recommends Transcan for multiple 



aregImpute produces a list containing the multiple imputations:

w <- aregImpute(. . .)
w$imputed$blood.pressure   # gets m by k matrix
  # m = number of subjects with blood pressure missing,
  # k = number of multiple imputations

To get a completed dataset (but for only one draw of the k multiple 
imputations) see how fit.mult.impute does it.  I have just added the 
following example to the help file for aregImpute.

x <- runif(200)
y <- x + runif(200, -.05, .05)
y[1:20] <- NA
d <- data.frame(x,y)
f <- aregImpute(~ x + y, n.impute=10, match='closest', data=d)
# Here is how to create a completed dataset for imputation
# number 3 as fit.mult.impute would do automatically.  In this
# degenerate case changing 3 to 1-2,4-10 will not alter the results.
completed <- d
imputed <- impute.transcan(f, imputation=3, data=d, list.out=TRUE,
                            pr=FALSE, check=FALSE)
completed[names(imputed)] <- imputed
completed  # 200 by 2 data frame

Frank E Harrell Jr   Professor and Chair           School of Medicine
                      Department of Biostatistics   Vanderbilt University

More information about the R-help mailing list