Converts an imputed dataset (long format) into a mids object
This function converts imputed data stored in long format into
an object of class mids
. The original incomplete dataset
needs to be available so that we know where the missing data are.
The function is useful to convert back operations applied to
the imputed data back in a mids
object. It may also be
used to store multiply imputed data sets from other software
into the format used by mice
.
as.mids(long, where = NULL, .imp = ".imp", .id = ".id")
long |
A multiply imputed data set in long format, for example
produced by a call to |
where |
A data frame or matrix with logicals of the same dimensions
as |
.imp |
An optional column number or column name in |
.id |
An optional column number or column name in |
An object of class mids
The function expects the input data long
to be sorted by
imputation number (variable ".imp"
by default), and in the
same sequence within each imputation block.
Gerko Vink
# impute the nhanes dataset imp <- mice(nhanes, print = FALSE) # extract the data in long format X <- complete(imp, action = "long", include = TRUE) # create dataset with .imp variable as numeric X2 <- X # nhanes example without .id test1 <- as.mids(X) is.mids(test1) identical(complete(test1, action = "long", include = TRUE), X) # nhanes example without .id where .imp is numeric test2 <- as.mids(X2) is.mids(test2) identical(complete(test2, action = "long", include = TRUE), X) # nhanes example, where we explicitly specify .id as column 2 test3 <- as.mids(X, .id = ".id") is.mids(test3) identical(complete(test3, action = "long", include = TRUE), X) # nhanes example with .id where .imp is numeric test4 <- as.mids(X2, .id = 2) is.mids(test4) identical(complete(test4, action = "long", include = TRUE), X) # example without an .id variable # variable .id not preserved X3 <- X[, -2] test5 <- as.mids(X3) is.mids(test5) identical(complete(test5, action = "long", include = TRUE)[, -2], X[, -2]) # as() syntax has fewer options test7 <- as(X, "mids") test8 <- as(X2, "mids") test9 <- as(X2[, -2], "mids") rev <- ncol(X):1 test10 <- as(X[, rev], "mids") # where argument copies also observed data into $imp element where <- matrix(TRUE, nrow = nrow(nhanes), ncol = ncol(nhanes)) colnames(where) <- colnames(nhanes) test11 <- as.mids(X, where = where) identical(complete(test11, action = "long", include = TRUE), X)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.