create_var_from_codelist {metatools} | R Documentation |
Create Variable from Codelist
Description
This functions uses code/decode pairs from a metacore object to create new variables in the data
Usage
create_var_from_codelist(
data,
metacore,
input_var,
out_var,
codelist = NULL,
decode_to_code = TRUE,
strict = TRUE
)
Arguments
data |
Dataset that contains the input variable |
metacore |
A metacore object to get the codelist from. This should be a
subsetted metacore object (of subclass |
input_var |
Name of the variable that will be translated for the new column |
out_var |
Name of the output variable. Note: Unless a codelist is provided
the grouping will always be from the code of the codelist associates with
|
codelist |
Optional argument to supply a codelist. Must be a data.frame
with |
decode_to_code |
Direction of the translation. Default value is |
strict |
A logical value indicating whether to perform strict checking
against the codelist. If |
Value
Dataset with a new column added
Examples
library(metacore)
library(tibble)
data <- tribble(
~USUBJID, ~VAR1, ~VAR2,
1, "M", "Male",
2, "F", "Female",
3, "F", "Female",
4, "U", "Unknown",
5, "M", "Male",
)
spec <- spec_to_metacore(metacore_example("p21_mock.xlsx"), quiet = TRUE)
dm_spec <- select_dataset(spec, "DM", quiet = TRUE)
create_var_from_codelist(data, dm_spec, VAR2, SEX)
create_var_from_codelist(data, dm_spec, "VAR2", "SEX")
create_var_from_codelist(data, dm_spec, VAR1, SEX, decode_to_code = FALSE)
# Example providing a custom codelist
# This example also reverses the direction of translation
load(metacore_example('pilot_ADaM.rda'))
adlb_spec <- select_dataset(metacore, "ADLBC", quiet = TRUE)
adlb <- tibble(PARAMCD = c("ALB", "ALP", "ALT", "AST", "BILI", "BUN"))
create_var_from_codelist(
adlb,
adlb_spec,
PARAMCD,
PARAM,
codelist = get_control_term(adlb_spec, PARAMCD),
decode_to_code = FALSE,
strict = FALSE)
## Not run:
# Example expecting warning where `strict` == `TRUE`
adlb <- tibble(PARAMCD = c("ALB", "ALP", "ALT", "AST", "BILI", "BUN", "DUMMY1", "DUMMY2"))
create_var_from_codelist(
adlb,
adlb_spec,
PARAMCD,
PARAM,
codelist = get_control_term(adlb_spec, PARAMCD),
decode_to_code = FALSE,
strict = TRUE)
## End(Not run)