merge_surveys: Merge surveys

View source: R/merge_surveys.R

merge_surveysR Documentation

Merge surveys

Description

Merge a list of surveys into a list with harmonized variable names, variable labels, and survey identifiers.

Usage

merge_surveys(survey_list, var_harmonization)

merge_waves(waves, var_harmonization)

Arguments

survey_list

A list of surveys.

var_harmonization

A metadata table describing how variables should be harmonized. It must contain at least the columns filename, var_name_orig, var_name_target, and var_label.

waves

Deprecated.

Details

Prior to version 0.2.0 this function was called merge_waves(), reflecting the terminology used in Eurobarometer surveys.

Value

A list of surveys with harmonized variable names and labels.

See Also

metadata_create

Examples


examples_dir <- system.file("examples", package = "retroharmonize")
survey_files <- dir(examples_dir, pattern = "\\.rds$", full.names = TRUE)

example_surveys <- read_surveys(
  survey_files,
  save_to_rds = FALSE
)

# Create metadata from surveys
metadata <- metadata_create(survey_list = example_surveys)

# Select and harmonize a subset of variables
to_harmonize <- metadata %>%
  dplyr::filter(
    var_name_orig %in% c("rowid", "w1") |
      grepl("^trust", var_label_orig)
  ) %>%
  dplyr::mutate(
    var_label = var_label_normalize(var_label_orig),
    var_name_target = val_label_normalize(var_label),
    var_name_target = ifelse(
      .data$var_name_orig %in% c("rowid", "w1", "wex"),
      .data$var_name_orig,
      .data$var_name_target
    )
  )

merged_surveys <- merge_surveys(
  survey_list = example_surveys,
  var_harmonization = to_harmonize
)

merged_surveys[[1]]



retroharmonize documentation built on Jan. 14, 2026, 9:08 a.m.