Sets a per-variable extension-slot payload — a flat, pass-through named
list that surveycore stores and returns unchanged. surveycore never reads,
validates, or acts on the payload's values; it confirms only that the
top-level value is a list or NULL, and that a non-empty list's top-level
names are present, non-empty, and unique.
Arguments
- x
A survey design object or a data frame.
- ...
Named arguments where the name is the variable and the value is the extension payload (a list, or
NULLto clear it). Supports!!!list splicing.- variable
A character vector of variable names. Use with
extra.- extra
A list of payloads, one element per entry of
variable, in the same order. Each element must itself be a list orNULL.
Details
Supports Conventions 1, 2, and 3 — see set_var_label() for details on the
calling conventions. Unlike set_missing_codes(), there is no bare-payload
shorthand for Convention 3 with a single variable: a bare named list cannot
be distinguished from a one-element outer list, so the payload must be
wrapped in an outer list (extra = list(list(role = "demographic"))).
Passing an un-wrapped named list of length 1 raises
surveycore_error_var_extra_ambiguous_wrap.
See also
extract_var_extra() to retrieve extension-slot payloads
Other metadata:
classify_question_type(),
extract_data_name(),
extract_dataset_metadata(),
extract_field_dates(),
extract_field_period(),
extract_higher_is(),
extract_metadata(),
extract_missing_codes(),
extract_question_preface(),
extract_reverse_coded(),
extract_sata(),
extract_survey_name(),
extract_universe(),
extract_val_labels(),
extract_var_extra(),
extract_var_label(),
extract_var_note(),
extract_vendor(),
infer_question_prefaces(),
set_data_name(),
set_dataset_metadata(),
set_field_dates(),
set_field_period(),
set_higher_is(),
set_missing_codes(),
set_question_preface(),
set_reverse_coded(),
set_sata(),
set_survey_name(),
set_universe(),
set_val_labels(),
set_var_label(),
set_var_note(),
set_vendor(),
survey_metadata(),
survey_weighting_history()
Examples
d <- as_survey(
gss_2024,
ids = vpsu,
weights = wtssps,
strata = vstrat,
nest = TRUE
)
d <- set_var_extra(d, age = list(role = "demographic"))
extract_var_extra(d, age)
#> $age
#> $age$role
#> [1] "demographic"
#>
#>
