#' Rescale 4-level agreement (for-against) categories
#'
#' Rescale Eurobarometer 4-level agreement (for-against) categories,
#' \code{"Strongly in favour"} and \code{"Fairly in favour"} and
#' \code{"Fairly opposed"}, \code{"Strongly opposed"}.
#' This is a wrapper function around the \code{\link{rescale_categories}} function.
#' @param column A column from a survey data frame where the level of
#' informnedss is recorded.
#' @param from Defaults \code{"Strongly in favour"}, \code{"Fairly in favour"} and
#' \code{"Fairly opposed"}, \code{"Strongly opposed"}.
#' @param to Defaults to \code{c(2,1,-1,-2)}. If \code{return_class = "character"} or
#' \code{return_class = "factor"} is selected it returns the abbreviated category
#' names \code{c("strongly_for", "for",
#' "against", "strongly_against")}.
#' @param na_labels Defaults to \code{default}. The pre-coded profiles can be accessed via
#' \code{\link{get_na_labels}}.
#' @param exact_from Deafults to \code{TRUE}. If \code{FALSE} you can use the
#' partial matching, but beware that in this case, \code{"twenty"} will be replaced by
#' @param return_class Default is \code{"numeric"}, alternatives \code{"character"} or
#' \code{"factor"}.
#' @param underscore Defaults to \code{TRUE} in which case factor names or character strings
#' contain underscore_between_words. This is a better approach for further programming,
#' but you can choose \code{FALSE} for nicer printing results. See examples.
#' @examples
#' rescale_for_against_4 (column =
#' c("Strongly in favour",
#' "Fairly in favour",
#' "Fairly opposed",
#' "Strongly opposed",
#' "DK", "NT/NV"),
#' na_labels = "default",
#' return_class = "character")
#'
#' rescale_for_against_4 (column =
#' c("Strongly in favour",
#' "Fairly in favour",
#' "Fairly opposed",
#' "Strongly opposed",
#' "DK", "NT/NV"),
#' na_labels = "default",
#' return_class = "numeric")
#' @export
rescale_for_against_4 <- function ( column,
from = c("Strongly in favour",
"Fairly in favour",
"Fairly opposed",
"Strongly opposed"),
to = c(2,1,-1, -2),
na_labels = "default",
underscore = TRUE,
exact_from = TRUE,
return_class = "numeric") {
if ( return_class %in% c("character", "factor")) {
to <- c("strongly_for", "for",
"against", "strongly_against")
if (underscore == FALSE) {
to <- gsub("_", " ", to)
}
}
return(surveyreader::rescale_categories(column = column,
from = from, to = to,
na_labels = na_labels,
exact_from = exact_from,
return_class = return_class))
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.