In addition of the embedded run()
method to create a tlg
, chevron offers a script-based approach that allows the user to quickly edit a chevron workflow without the need for modifying a chevron_tlg
object. The script is generated from script_funs
method which by default only output the script corresponding to the preprocessing function in the generated script.
The object returned by the script
methods are vectors of character with one element per line of the script, that can be easily rendered.
script_funs(aet01, adam_db = "syn_data", args = "args_list")
res <-writeLines(res)
#> # Edit Preprocessing Function.
#> preprocess(aet01) <-
#> function (adam_db, ...)
#> {
#> adam_db$adae <- adam_db$adae %>% filter(.data$ANL01FL ==
#> "Y") %>% mutate(FATAL = with_label(.data$AESDTH == "Y",
#> "AE with fatal outcome"), SER = with_label(.data$AESER ==
#> "Y", "Serious AE"), SEV = with_label(.data$ASEV == "SEVERE",
#> "Severe AE (at greatest intensity)"), REL = with_label(.data$AREL ==
#> "Y", "Related AE"), WD = with_label(.data$AEACN == "DRUG WITHDRAWN",
#> "AE leading to withdrawal from treatment"), DSM = with_label(.data$AEACN %in%
#> c("DRUG INTERRUPTED", "DOSE INCREASED", "DOSE REDUCED"),
#> "AE leading to dose modification/interruption"), SERWD = with_label(.data$SER &
#> .data$WD, "Serious AE leading to withdrawal from treatment"),
#> SERDSM = with_label(.data$SER & .data$DSM, "Serious AE leading to dose modification/interruption"),
#> RELSER = with_label(.data$SER & .data$REL, "Related Serious AE"),
#> RELWD = with_label(.data$REL & .data$WD, "Related AE leading to withdrawal from treatment"),
#> RELDSM = with_label(.data$REL & .data$DSM, "Related AE leading to dose modification/interruption"),
#> CTC35 = with_label(.data$ATOXGR %in% c("3", "4", "5"),
#> "Grade 3-5 AE"), CTC45 = with_label(.data$ATOXGR %in%
#> c("4", "5"), "Grade 4/5 AE"))
#> adam_db$adsl <- adam_db$adsl %>% mutate(DCSREAS = reformat(.data$DCSREAS,
#> missing_rule))
#> adam_db
#> }
#>
#> # Create TLG
#> tlg_output <- run(object = aet01, adam_db = syn_data, verbose = TRUE, user_args = args_list)
The script generator depends on the functions actually stored in the object. Modifying the chevron_tlg
object can lead to a different script.
aet01
aet01_custom <-preprocess(aet01_custom) <- function(adam_db, new_format, ...) {
reformat(adam_db, new_format)
}
script_funs(aet01_custom, adam_db = "syn_data", args = "args_list") res_funs <-
Print the generated scripts. Note that a new argument new_format
has been added and the pre processing function has been modified.
writeLines(res_funs)
#> # Edit Preprocessing Function.
#> preprocess(aet01_custom) <-
#> function(adam_db, new_format, ...) {
#> reformat(adam_db, new_format)
#> }
#>
#> # Create TLG
#> tlg_output <- run(object = aet01_custom, adam_db = syn_data, verbose = TRUE, user_args = args_list)