Learn R Programming

sjmisc (version 2.0.1)

get_label: Retrieve variable label(s) of labelled data

Description

This function retrieves the value labels of labelled data, which was created with the labelled or haven package, or imported from SPSS, SAS or STATA files (via read_spss, read_sas or read_stata) and
  • if x is a data frame or a list of variables, returns the all variable labels as named character vector of length ncol(x).
  • or, if x is a vector, returns the variable label as string.

Usage

get_label(x, ..., def.value = NULL)

Arguments

x
data.frame with variables that have label attributes (e.g. from an imported SPSS, SAS or STATA data set, via read_spss, read_sas or read_stata); a variable (vector) with variable label attribute; or a list of variables with variable label attributes. See 'Examples'.
...
Optional, names of variables, where labels should be retrieved. Required, if either data is a data frame and no vector, or if only selected variables from x should be used in the function. Convenient argument to work with pipe-chains (see 'Examples').
def.value
Optional, a character string which will be returned as label if x has no label attribute. By default, NULL is returned.

Value

A named character vector with all variable labels from the data frame or list; or a simple character vector (of length 1) with the variable label, if x is a variable. If x is a single vector and has no label attribute, the value of def.value will be returned (which is by default NULL).

Details

See 'Details' in get_labels.

See Also

See package vignettes or online documentation for more details; set_label to manually set variable labels or get_labels to get value labels.

Examples

Run this code
# import SPSS data set
# mydat <- read_spss("my_spss_data.sav", enc="UTF-8")

# retrieve variable labels
# mydat.var <- get_label(mydat)

# retrieve value labels
# mydat.val <- get_labels(mydat)

data(efc)

# get variable lable
get_label(efc$e42dep)

# alternative way
get_label(efc)["e42dep"]

# 'get_label()' also works within pipe-chains
library(dplyr)
efc %>% get_label(e42dep, e16sex)

# set default values
get_label(mtcars, mpg, cyl, def.value = "no var labels")

# simple barplot
barplot(table(efc$e42dep))
# get value labels to annotate barplot
barplot(table(efc$e42dep),
        names.arg = get_labels(efc$e42dep),
        main = get_label(efc$e42dep))

# get labels from multiple variables
get_label(list(efc$e42dep, efc$e16sex, efc$e15relat))

Run the code above in your browser using DataLab