This functions uses code/decode pairs from a metacore object to create new variables in the data
create_var_from_codelist(
data,
metacore,
input_var,
out_var,
decode_to_code = TRUE
)Dataset that contains the input variable
A metacore object to get the codelist from. If the `out_var` has different codelists for different datasets the metacore object will need to be subsetted using `select_dataset` from the metacore package.
Name of the variable that will be translated for the new column
Name of the output variable. Note: the grouping will always be from the code of the codelist associates with `out_var`
Direction of the translation. By default assumes the `input_var` is the decode column of the codelist. Set to `FALSE` if the `input_var` is the code column of the codelist
Dataset with a new column added
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)
#> ✔ Metadata successfully imported
#> ℹ Dataset metadata imported with suppressed warnings
#> ℹ To use the Metacore object with metatools package, first subset a dataset
#> using `metacore::select_dataset()`
#>
create_var_from_codelist(data, spec, VAR2, SEX)
#> # A tibble: 5 × 4
#> USUBJID VAR1 VAR2 SEX
#> <dbl> <chr> <chr> <chr>
#> 1 1 M Male M
#> 2 2 F Female F
#> 3 3 F Female F
#> 4 4 U Unknown U
#> 5 5 M Male M
create_var_from_codelist(data, spec, "VAR2", "SEX")
#> # A tibble: 5 × 4
#> USUBJID VAR1 VAR2 SEX
#> <dbl> <chr> <chr> <chr>
#> 1 1 M Male M
#> 2 2 F Female F
#> 3 3 F Female F
#> 4 4 U Unknown U
#> 5 5 M Male M
create_var_from_codelist(data, spec, VAR1, SEX, decode_to_code = FALSE)
#> # A tibble: 5 × 4
#> USUBJID VAR1 VAR2 SEX
#> <dbl> <chr> <chr> <chr>
#> 1 1 M Male Male
#> 2 2 F Female Female
#> 3 3 F Female Female
#> 4 4 U Unknown Unknown
#> 5 5 M Male Male