Harmonize surveys with crosswalk tables.
Usage
crosswalk_surveys(
crosswalk_table,
survey_list = NULL,
survey_path = NULL,
import_path = NULL,
na_values = NULL
)
crosswalk(survey_list, crosswalk_table, na_values = NULL)Arguments
- crosswalk_table
A table created with
crosswalk_table_create, or a data frame with at least the following columns:var_name_orig,var_name_target, for harmonizing the variable names. Ifval_label_orig,val_label_targetare present, the value labels will be harmonized, too. Ifvar_numeric_orig,var_numeric_targetare present, the numeric codes of the variable will be harmonized. Ifclass_targetis present, then the class of the variable will be harmonized to any offactor,numericorcharacterusingas_factor,as_numeric, oras_character.- survey_list
A list of surveys imported with
read_surveys. If set toNULL, thesurvey_pathshould give full path to the surveys.- na_values
A named vector of
na_values, the observations that are defined to be treated as missing in the SPSS-style coding. Defaults toNULL.
Value
crosswalk will return a data frame, and crosswalk_surveys a list of
data frames, where the variable names, and optionally the variable labels, and the missing
value range is harmonized (the same names, labels, codes are used.)
Details
Harmonize a survey or a list of surveys with the help of a crosswalk table.
You can create the crosswalk table with crosswalk_table_create, or manually
create a crosswalk table as a data frame including at least the following columns: id
for identifying a survey, var_name_orig for the original variable name
and var_name_target for the new (target) variable name. Optionally you can harmonize
the value labels, the numeric codes, and the special missing labels, too.
See also
Other harmonization functions:
collect_val_labels(),
crosswalk_table_create(),
harmonize_na_values(),
harmonize_survey_values(),
harmonize_values(),
harmonize_var_names(),
label_normalize()
Examples
# \donttest{
examples_dir <- system.file("examples", package = "retroharmonize")
survey_list <- dir(examples_dir)[grepl("\\.rds", dir(examples_dir))]
example_surveys <- read_surveys(
file.path( examples_dir, survey_list),
save_to_rds = FALSE)
#> Error in read_surveys(file.path(examples_dir, survey_list), save_to_rds = FALSE): unused argument (save_to_rds = FALSE)
## Compare with documentation:
documented_surveys <- metadata_surveys_create(example_surveys)
#> Error in metadata_surveys_create(example_surveys): could not find function "metadata_surveys_create"
documented_surveys <- documented_surveys[
documented_surveys$var_name_orig %in% c( "rowid", "isocntry", "w1", "qd3_4",
"qd3_8" , "qd7.4", "qd7.8", "qd6.4", "qd6.8"),
]
#> Error in eval(expr, envir, enclos): object 'documented_surveys' not found
crosswalk_table <- crosswalk_table_create ( metadata = documented_surveys )
#> Error in inherits(metadata, "data.frame"): object 'documented_surveys' not found
# }
