Convert labelled variables to character or factor
characterize(x, ...)factorize(x, ...)
# S3 method for default
characterize(x, ...)
# S3 method for data.frame
characterize(x, ...)
# S3 method for default
factorize(x, coerce_character = FALSE, ...)
# S3 method for data.frame
factorize(x, ...)
A vector or data frame.
additional arguments passed to methods
A logical indicating whether to additionally coerce character columns to factor (in factorize
). Default FALSE
.
characterize
converts a vector with a labels
attribute of named levels into a character vector. factorize
does the same but to factors. This can be useful at two stages of a data workflow: (1) importing labelled data from metadata-rich file formats (e.g., Stata or SPSS), and (2) exporting such data to plain text files (e.g., CSV) in a way that preserves information.
# NOT RUN { # vector method x <- structure(1:4, labels = c("A" = 1, "B" = 2, "C" = 3)) characterize(x) factorize(x) # data frame method x <- data.frame(v1 = structure(1:4, labels = c("A" = 1, "B" = 2, "C" = 3)), v2 = structure(c(1,0,0,1), labels = c("foo" = 0, "bar" = 1))) str(factorize(x)) str(characterize(x)) # comparison of exported file contents import(export(x, csv_file <- tempfile(fileext = ".csv"))) import(export(factorize(x), csv_file)) # cleanup unlink(csv_file) # }
Run the code above in your browser using DataCamp Workspace