1#' Zap variable labels
2#'
3#' @description
4#' Removes variable label, leaving unlabelled vectors as is.
5#'
6#' @seealso [zap_labels()] to remove value labels.
7#' @param x A vector or data frame
8#' @family zappers
9#' @export
10#' @examples
11#' x1 <- labelled(1:5, c(good = 1, bad = 5), label = "rating")
12#' x1
13#' zap_label(x1)
14#'
15#' x2 <- labelled_spss(c(1:4, 9), label = "score", na_values = 9)
16#' x2
17#' zap_label(x2)
18#'
19#' # zap_label also works with data frames
20#' df <- tibble::tibble(x1, x2)
21#' str(df)
22#' str(zap_label(df))
23zap_label <- function(x) {
24  UseMethod("zap_label")
25}
26
27#' @export
28zap_label.default <- function(x) {
29  attr(x, "label") <- NULL
30  x
31}
32
33#' @export
34zap_label.data.frame <- function(x) {
35  x[] <- lapply(x, zap_label)
36  x
37}
38