## ----include = FALSE---------------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ## ----setup-------------------------------------------------------------------- library(retroharmonize) ## ----------------------------------------------------------------------------- v1 <- labelled_spss_survey( c(1, 0, 1, 9), labels = c( "yes" = 1, "no" = 0, "inap" = 9 ), na_values = 9 ) h1 <- harmonize_values( x = v1, harmonize_labels = list( from = c("^yes", "^no", "^inap"), to = c("trust", "not_trust", "inap"), numeric_values = c(1, 0, 99999) ), id = "survey1" ) str(h1) ## ----------------------------------------------------------------------------- v2 <- haven::labelled_spss( c(1, 1, 0, 8), labels = c( "yes" = 1, "no" = 0, "declined" = 8 ), na_values = 8 ) h2 <- harmonize_values( v2, harmonize_labels = list( from = c("^yes", "^no", "^inap"), to = c("trust", "not_trust", "inap"), numeric_values = c(1, 0, 99999) ), id = "survey2" ) str(h2) ## ----------------------------------------------------------------------------- h2b <- harmonize_values( v2, harmonize_labels = list( from = c("^yes", "^no", "^decline"), to = c("trust", "not_trust", "inap"), numeric_values = c(1, 0, 99999) ), id = "survey2" ) str(h2b) ## ----------------------------------------------------------------------------- var3 <- labelled::labelled( x = c(1, 6, 2, 9, 1, 1, 2), labels = c( "Tend to trust" = 1, "Tend not to trust" = 2, "DK" = 6 ) ) h3 <- harmonize_values( x = var3, harmonize_labels = list( from = c( "^tend\\sto|^trust", "^tend\\snot|not\\strust", "^dk", "^inap" ), to = c( "trust", "not_trust", "do_not_know", "inap" ), numeric_values = c(1, 0, 99997, 99999) ), id = "S3_" ) str(h3) ## ----------------------------------------------------------------------------- summary(as_factor(h3)) levels(as_factor(h3)) unique(as_factor(h3)) ## ----------------------------------------------------------------------------- summary(as_numeric(h3)) unique(as_numeric(h3)) ## ----------------------------------------------------------------------------- summary(as_character(h3)) unique(as_character(h3)) ## ----------------------------------------------------------------------------- var1 <- labelled::labelled_spss( x = c(1, 0, 1, 1, 0, 8, 9), labels = c( "TRUST" = 1, "NOT TRUST" = 0, "DON'T KNOW" = 8, "INAP. HERE" = 9 ), na_values = c(8, 9) ) var2 <- labelled::labelled_spss( x = c(2, 2, 8, 9, 1, 1), labels = c( "Tend to trust" = 1, "Tend not to trust" = 2, "DK" = 8, "Inap" = 9 ), na_values = c(8, 9) ) h1 <- harmonize_values( x = var1, harmonize_label = "Do you trust the European Union?", harmonize_labels = list( from = c("^tend\\sto|^trust", "^tend\\snot|not\\strust", "^dk|^don", "^inap"), to = c("trust", "not_trust", "do_not_know", "inap"), numeric_values = c(1, 0, 99997, 99999) ), na_values = c( "do_not_know" = 99997, "inap" = 99999 ), id = "survey1" ) h2 <- harmonize_values( x = var2, harmonize_label = "Do you trust the European Union?", harmonize_labels = list( from = c("^tend\\sto|^trust", "^tend\\snot|not\\strust", "^dk|^don", "^inap"), to = c("trust", "not_trust", "do_not_know", "inap"), numeric_values = c(1, 0, 99997, 99999) ), na_values = c( "do_not_know" = 99997, "inap" = 99999 ), id = "survey2" ) ## ----------------------------------------------------------------------------- vctrs::vec_c(h1, h2) ## ----------------------------------------------------------------------------- a <- tibble::tibble( rowid = paste0("survey1", 1:length(h1)), hvar = h1, w = runif(n = length(h1), 0, 1) ) b <- tibble::tibble( rowid = paste0("survey2", 1:length(h2)), hvar = h2, w = runif(n = length(h2), 0, 1) ) c <- dplyr::bind_rows(a, b) ## ----------------------------------------------------------------------------- summary(c) ## ----------------------------------------------------------------------------- print(c)