Looks up the codelist assigned to from in the var_spec,
retrieves the codelist terms from spec$codelist, and creates a new
column to containing decoded values. Warns (never silently drops)
on unmatched coded values.
See also
Other specification:
apply_spec(),
coerce_types(),
detect_adam_class(),
detect_adam_classes(),
drop_unspec_vars(),
herald_spec(),
order_cols(),
read_spec(),
read_spec_define(),
scaffold_vars(),
sort_keys(),
spec_codelist(),
spec_datasets(),
spec_study(),
spec_vars(),
write_define_html(),
write_define_xml(),
write_spec()
Examples
spec <- herald_spec(
ds_spec = data.frame(dataset = "DM", label = "Demographics",
stringsAsFactors = FALSE),
var_spec = data.frame(
dataset = "DM",
variable = "SEX",
codelist_id = "SEX",
stringsAsFactors = FALSE
),
codelist = data.frame(
codelist_id = c("SEX", "SEX"),
term = c("M", "F"),
decoded_value = c("Male", "Female"),
stringsAsFactors = FALSE
)
)
dm <- data.frame(SEX = c("M", "F", "M"), stringsAsFactors = FALSE)
result <- decode_var(dm, spec, "DM", from = "SEX", to = "SEXDECODE")
result$SEXDECODE # "Male" "Female" "Male"
#> [1] "Male" "Female" "Male"
