Nothing
#' Coercion methods for labelled survey vectors
#'
#' Convert labelled SPSS-style survey vectors to common R data types.
#' These helpers provide consistent coercion behavior for
#' `"retroharmonize_labelled_spss_survey"` objects while respecting
#' labelled missing values.
#'
#' @param x A labelled survey vector created with
#' [labelled_spss_survey()].
#'
#' @return
#' * `as_numeric()` returns a numeric vector with labelled missing
#' values converted to `NA`.
#' * `as_character()` returns a character vector based on the
#' factor representation of `x`.
#' * `as_factor()` returns a factor with levels derived from value
#' labels.
#'
#' @seealso
#' [labelled_spss_survey()],
#' [haven::as_factor()]
#'
#' @family type conversion functions
#'
#' @name labelled_spss_survey_coercion
NULL
#' @rdname labelled_spss_survey_coercion
#' @export
as_numeric <- function(x) {
vec_convert_na(x)
}
#' @rdname labelled_spss_survey_coercion
#' @export
as_character <- function(x) {
as.character(as_factor(x))
}
#' @rdname labelled_spss_survey_coercion
#' @param levels Character string indicating how factor levels
#' should be constructed. Currently retained for compatibility.
#' @param ordered Logical; whether the resulting factor should be ordered.
#' Currently ignored.
#' @export
as_factor <- function(x, levels = "default", ordered = FALSE) {
tmp <- haven::as_factor(x)
attr(tmp, "levels") <- levels(tmp)
class(tmp) <- "factor"
tmp
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.