R: Name formula list elements

name.formulas {mice} | R Documentation

## Name formula list elements

### Description

This helper function names any unnamed elements in the `formula` list. This is a convenience function.

### Usage

    name.formulas(formulas, prefix = "F")

### 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. The `formulas` argument is an alternative to the `predictorMatrix` 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.

### Value

Named list of formulas

### See Also

`mice`

### 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))

    # 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))

    # same model using predictorMatrix
    imp4 <- mice(nhanes, print = FALSE, m = 1, seed = 12199, auxiliary = TRUE)
    identical(complete(imp1), complete(imp4))

    # 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)

[Package mice version 3.14.0 Index]