create_codebook: Create a survey codebook

View source: R/create_codebook.R

create_codebookR Documentation

Create a survey codebook

Description

Expand survey metadata into a long-format codebook of value labels.

Usage

create_codebook(metadata = NULL, survey = NULL)

codebook_waves_create(waves)

codebook_surveys_create(survey_list)

Arguments

metadata

A metadata table created by [metadata_create()]. If supplied, 'survey' must be 'NULL'.

survey

A survey object of class '"survey"'. If supplied, metadata is generated internally using [metadata_create()].

waves

A list of surveys.

survey_list

A list containing surveys of class survey.

Details

'create_codebook()' takes survey-level metadata and returns a tidy data frame describing all labelled variables and their associated value labels. Each row corresponds to a single value label, classified as either a valid value or a missing value.

Unlabelled numeric and character variables are excluded.

For multiple survey waves, use [codebook_surveys_create()].

If both 'metadata' and 'survey' are provided, 'survey' takes precedence.

Value

A data frame with one row per value label, including:

  • survey identifiers ('id', 'filename')

  • original variable names and labels

  • value codes and value labels

  • label type ('"valid"' or '"missing"')

  • summary counts of labels

Additional user-defined metadata columns present in the input metadata are preserved.

See Also

[metadata_create()], [codebook_surveys_create()]

Other metadata functions: is.crosswalk_table(), metadata_create(), metadata_survey_create()

Other metadata functions: is.crosswalk_table(), metadata_create(), metadata_survey_create()

Examples

survey <- read_rds(
  system.file("examples", "ZA7576.rds", package = "retroharmonize")
)

cb <- create_codebook(survey = survey)
head(cb)


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
)

codebook_surveys_create(example_surveys)


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