harmonize_survey_variables: Read a survey from a CSV file

View source: R/harmonize_survey_variables.R

harmonize_survey_variablesR Documentation

Read a survey from a CSV file

Description

Import a survey stored in a CSV file and return it as a survey object with attached dataset- and survey-level metadata.

Usage

harmonize_survey_variables(
  crosswalk_table,
  subset_name = "subset",
  survey_list = NULL,
  survey_paths = NULL,
  import_path = NULL,
  export_path = NULL
)

Arguments

crosswalk_table

A crosswalk table created with [crosswalk_table_create()].

subset_name

Character string appended to filenames of subsetted surveys. Defaults to '"subset"'.

survey_list

A list containing surveys of class survey.

survey_paths

Optional character vector of file paths to surveys.

import_path

Optional base directory used to resolve 'survey_paths'.

export_path

Optional directory where subsetted surveys are exported to

Details

The CSV file is read using [utils::read.csv()]. Character variables with more than one unique value are automatically converted to labelled factors. A unique row identifier is added and labelled.

If the file cannot be read, an empty survey object is returned with a warning.

If a column named '"X"' is present (commonly created by 'write.csv()'), it is removed automatically.

Value

An object of class '"survey"', which is a data frame with attached survey- and dataset-level metadata.

See Also

[read_rds()] for importing surveys from RDS files, [survey_df()] for constructing survey objects manually.

Other import functions: pull_survey(), read_csv(), read_dta(), read_rds(), read_spss(), read_surveys()

Examples

# Create a temporary CSV file from an example survey
path <- system.file("examples", "ZA7576.rds", 
                    package = "retroharmonize")
survey <- read_rds(path)

tmp <- tempfile(fileext = ".csv")
write.csv(survey, tmp, row.names = FALSE)

# Read the CSV file back as a survey
re_read <- read_csv(
  file = tmp,
  id = "ZA7576",
  doi = "10.0000/example"
)


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