R: Retrieve labels of model terms from regression models

get_term_labels {sjlabelled} | R Documentation

## Retrieve labels of model terms from regression models

### Description

This function retrieves variable labels from model terms. In case of categorical variables, where one variable has multiple dummies, variable name and category value is returned.

### Usage

    get_term_labels(models, mark.cat = FALSE, case = NULL, prefix = c("none",
      "varname", "label"), ...)

    get_dv_labels(models, case = NULL, ...)

### Arguments

`models` | One or more fitted regression models. May also be glm's or mixed models. Any model with `model.frame` method and which is supported by broom's `tidy` function should work.
`mark.cat` | Logical, if `TRUE`, the returned vector has an attribute with logical values, which indicate whether a label indicates the value from a factor category (attribute value is `TRUE`) or a term's variable labels (attribute value is `FALSE`).
`case` | Desired target case. Labels will automatically converted into the specified character case. See `to_any_case` for more details on this argument.
`prefix` | Indicates whether the value labels of categorical variables should be prefixed, e.g. with the variable name or variable label. May be abbreviated. See 'Examples',
`...` | Further arguments passed down to `to_any_case`, like `preprocess` or `postprocess`.

### Details

Typically, the variable labels from model terms are returned. However, for categorical terms that have estimates for each category, the value labels are returned as well. As the return value is a named vector, you can easily use it with ggplot2's `scale_*()` functions to annotate plots.

### Value

For `get_term_labels()`, a (named) character vector with variable labels of all model terms, which can be used, for instance, as axis labels to annotate plots.
For `get_dv_labels()`, a character vector with variable labels from all dependent variables of `models`.

### Examples

    # use data set with labelled data
    data(efc)

    fit <- lm(barthtot ~ c160age + c12hour + c161sex + c172code, data = efc)
    get_term_labels(fit)

    # make "education" categorical
    library(sjmisc)
    efc$c172code <- to_factor(efc$c172code)
    fit <- lm(barthtot ~ c160age + c12hour + c161sex + c172code, data = efc)
    get_term_labels(fit)

    # prefix value of categorical variables with variable name
    get_term_labels(fit, prefix = "varname")

    # prefix value of categorical variables with value label
    get_term_labels(fit, prefix = "label")

    # get label of dv
    get_dv_labels(fit)

    # create "labelled" plot
    library(ggplot2)
    library(broom)
    ggplot(tidy(fit)[-1, ], aes(x = term, y = estimate)) +
      geom_point() +
      coord_flip() +
      scale_x_discrete(labels = get_term_labels(fit))

[Package sjlabelled version 1.0.10 Index]