labelled (version 2.7.0)

var_label: Get / Set a variable label

Description

Get / Set a variable label

Usage

var_label(x, unlist = FALSE)

var_label(x) <- value

set_variable_labels(.data, ..., .labels = NA, .strict = TRUE)

Arguments

x

an object

unlist

for data frames, return a named vector instead of a list

value

a character string or NULL to remove the label For data frames, it could also be a named list or a character vector of same length as the number of columns in x.

.data

a data frame

...

name-value pairs of variable labels (see examples)

.labels

variable labels to be applied to the data.frame, using the same syntax as value in var_label(df) <- value.

.strict

should an error be returned if some labels doesn't correspond to a column of x?

Value

set_variable_labels() will return an updated copy of .data.

Details

For data frames, if value is a named list, only elements whose name will match a column of the data frame will be taken into account. If value is a character vector, labels should in the same order as the columns of the data.frame.

Examples

Run this code
# NOT RUN {
var_label(iris$Sepal.Length)
var_label(iris$Sepal.Length) <- 'Length of the sepal'
# }
# NOT RUN {
 View(iris)
# }
# NOT RUN {
# To remove a variable label
var_label(iris$Sepal.Length) <- NULL
# To change several variable labels at once
var_label(iris) <- c(
  "sepal length", "sepal width", "petal length",
  "petal width", "species"
)
var_label(iris)
var_label(iris) <- list(
  Petal.Width = "width of the petal",
  Petal.Length = "length of the petal"
)
var_label(iris)
var_label(iris, unlist = TRUE)
if (require(dplyr)) {
  # adding some variable labels
  df <- tibble(s1 = c("M", "M", "F"), s2 = c(1, 1, 2)) %>%
    set_variable_labels(s1 = "Sex", s2 = "Yes or No?")
  var_label(df)

  # removing a variable label
  df <- df %>% set_variable_labels(s2 = NULL)
  var_label(df$s2)

  # defining variable labels derived from variable names
  if (require(snakecase)) {
    iris <- iris %>%
      set_variable_labels(.labels = to_sentence_case(names(iris)))
    var_label(iris)
  }
}
# }

Run the code above in your browser using DataLab