This helper function names any unnamed elements in the formula
list. This is a convenience function.
Arguments
- formulas
A named list of formula's, or expressions that can be converted into formula's by
as.formula
. List elements correspond to blocks. The block to which the list element applies is identified by its name, so list names must correspond to block names. Theformulas
argument is an alternative to thepredictorMatrix
argument that allows for more flexibility in specifying imputation models, e.g., for specifying interaction terms.- prefix
A character vector of length 1 with the prefix to be using for naming any unnamed blocks with two or more variables.
Details
This function will name any unnamed list elements specified in
the optional argument formula
. Unnamed formula's
consisting with just one response variable will be named
after this variable. Unnamed formula's containing more
than one variable will be named by the prefix
argument, padded by an integer sequence stating at 1.
Examples
# fully conditionally specified main effects model
form1 <- list(
bmi ~ age + chl + hyp,
hyp ~ age + bmi + chl,
chl ~ age + bmi + hyp
)
form1 <- name.formulas(form1)
imp1 <- mice(nhanes, formulas = form1, print = FALSE, m = 1, seed = 12199)
# same model using dot notation
form2 <- list(bmi ~ ., hyp ~ ., chl ~ .)
form2 <- name.formulas(form2)
imp2 <- mice(nhanes, formulas = form2, print = FALSE, m = 1, seed = 12199)
identical(complete(imp1), complete(imp2))
#> [1] FALSE
# same model using repeated multivariate imputation
form3 <- name.blocks(list(all = bmi + hyp + chl ~ .))
imp3 <- mice(nhanes, formulas = form3, print = FALSE, m = 1, seed = 12199)
cmp3 <- complete(imp3)
identical(complete(imp1), complete(imp3))
#> [1] FALSE
# same model using predictorMatrix
imp4 <- mice(nhanes, print = FALSE, m = 1, seed = 12199, auxiliary = TRUE)
identical(complete(imp1), complete(imp4))
#> [1] FALSE
# different model: multivariate imputation for chl and bmi
form5 <- list(chl + bmi ~ ., hyp ~ bmi + age)
form5 <- name.formulas(form5)
imp5 <- mice(nhanes, formulas = form5, print = FALSE, m = 1, seed = 71712)