This function combines two mids
objects columnwise into a single
object of class mids
, or combines a single mids
object with
a vector
, matrix
, factor
or data.frame
columnwise into a mids
object.
cbind.mids(x, y = NULL, ...)
x | A |
---|---|
y | A |
... | Additional |
An S3 object of class mids
Pre-requisites: If y
is a mids
-object, the rows
of x$data
and y$data
should match, as well as the number
of imputations (m
). Other y
are transformed into a
data.frame
whose rows should match with x$data
.
The function renames any duplicated variable or block names by
appending ".1"
, ".2"
to duplicated names.
The function constructs the elements of the new mids
object as follows:
data | Columnwise combination of the data in x and y |
imp | Combines the imputed values from x and y |
m | Taken from x$m |
where | Columnwise combination of x$where and y$where |
blocks | Combines x$blocks and y$blocks |
call | Vector, call[1] creates x , call[2]
is call to cbind.mids |
nmis | Equals c(x$nmis, y$nmis) |
method | Combines x$method and y$method |
predictorMatrix | Combination with zeroes on the off-diagonal blocks |
visitSequence | Combined as c(x$visitSequence, y$visitSequence) |
formulas | Combined as c(x$formulas, y$formulas) |
post | Combined as c(x$post, y$post) |
blots | Combined as c(x$blots, y$blots) |
ignore | Taken from x$ignore |
seed | Taken from x$seed |
iteration | Taken from x$iteration |
lastSeedValue | Taken from x$lastSeedValue |
chainMean | Combined from x$chainMean and y$chainMean |
chainVar | Combined from x$chainVar and y$chainVar |
loggedEvents | Taken from x$loggedEvents |
version | Current package version |
date | Current date |
cbind
, rbind.mids
, ibind
,
mids
Karin Groothuis-Oudshoorn, Stef van Buuren
# impute four variables at once (default) imp <- mice(nhanes, m = 1, maxit = 1, print = FALSE) imp$predictorMatrix#> age bmi hyp chl #> age 0 1 1 1 #> bmi 1 0 1 1 #> hyp 1 1 0 1 #> chl 1 1 1 0# impute two by two data1 <- nhanes[, c("age", "bmi")] data2 <- nhanes[, c("hyp", "chl")] imp1 <- mice(data1, m = 2, maxit = 1, print = FALSE) imp2 <- mice(data2, m = 2, maxit = 1, print = FALSE) # Append two solutions imp12 <- cbind(imp1, imp2) # This is a different imputation model imp12$predictorMatrix#> age bmi hyp chl #> age 0 1 0 0 #> bmi 1 0 0 0 #> hyp 0 0 0 1 #> chl 0 0 1 0#> hyp chl age bmi #> hyp 0 1 0 0 #> chl 1 0 0 0 #> age 0 0 0 1 #> bmi 0 0 1 0# Append 'forgotten' variable chl data3 <- nhanes[, 1:3] imp3 <- mice(data3, maxit = 1, m = 2, print = FALSE) imp4 <- cbind(imp3, chl = nhanes$chl) # Of course, chl was not imputed head(complete(imp4))#> age bmi hyp chl #> 1 1 26.3 1 NA #> 2 2 22.7 1 187 #> 3 1 22.5 1 187 #> 4 3 21.7 1 NA #> 5 1 20.4 1 113 #> 6 3 22.7 1 184#> age bmi hyp age.1 bmi.1 hyp.1 chl #> 1 1 26.3 1 20-39 NA <NA> NA #> 2 2 22.7 1 40-59 22.7 no 187 #> 3 1 22.5 1 20-39 NA no 187 #> 4 3 21.7 1 60-99 NA <NA> NA #> 5 1 20.4 1 20-39 20.4 no 113 #> 6 3 22.7 1 60-99 NA <NA> 184