## ----include = FALSE---------------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ## ----setup-------------------------------------------------------------------- library(siera) ## ----high-level program overview---------------------------------------------- # Section 1: Program header # Section 2: Load libraries # Section 3: Load ADaM datasets # Section 4a (first Analysis): Code to calculate results as an ARD # Section 4b (subsequent Analyses): Code to calculate results as an ARD # Section 5: Append Analysis-level ARDs ## ----Analysis Sets, message=FALSE, eval=FALSE--------------------------------- # overlap <- intersect(names(ADSL), names(ADAE)) # overlapfin <- setdiff(overlap, "USUBJID") # # df_pop <- dplyr::filter( # ADSL, # SAFFL == "Y" # ) |> # merge(ADAE |> dplyr::select(-dplyr::all_of(overlapfin)), # by = "USUBJID", # all = FALSE # ) # # df_poptot <- dplyr::filter( # ADSL, # SAFFL == "Y" # ) ## ----Data Subsets, message=FALSE, eval=FALSE---------------------------------- # df2_An07_03_SerTEAE_Summ_ByTrt <- df_pop |> # dplyr::filter(TRTEMFL == "Y" & AESER == "Y") ## ----MethodExample, eval=FALSE------------------------------------------------ # # intermediate step: Prepare Denominator Dataset for `cards` function # denom_dataset <- df2_An01_05_SAF_Summ_ByTrt |> # dplyr::select(TRT01A) # # # intermediate step: Prepare input dataset for `cards` function # in_data <- df2_An03_05_Race_Summ_ByTrt |> # dplyr::distinct(TRT01A, RACE, USUBJID) |> # dplyr::mutate(dummy = "dummyvar") # # # pass calculate subjects counts and % (based on big N) grouped by treatment and race # cards::ard_categorical( # data = in_data, # by = c("TRT01A", "RACE"), # variables = "dummy", # denominator = denom_dataset # ) # # # select relevant statistics as defined by the Method, and assign operation Ids # df3_An03_05_Race_Summ_ByTrt <- df3_An03_05_Race_Summ_ByTrt |> # dplyr::filter(stat_name %in% c("n", "p")) |> # dplyr::mutate(operationid = dplyr::case_when( # stat_name == "n" ~ "Mth01_1_n", # stat_name == "p" ~ "Mth01_2_pct" # )) # # # add ARS metadata IDs to the dataset to enable tracing each result back to ARS metadata # df3_An03_05_Race_Summ_ByTrt <- df3_An03_05_Race_Summ_ByTrt |> # dplyr::mutate( # AnalysisId = "An03_05_Race_Summ_ByTrt", # MethodId = "Mth01", # OutputId = "Out14-1-1" # ) ## ----append, message=FALSE, eval=FALSE---------------------------------------- # # combine analyses to create ARD ---- # ARD <- dplyr::bind_rows( # df3_An01_05_SAF_Summ_ByTrt, # df3_An03_01_Age_Summ_ByTrt, # df3_An03_01_Age_Comp_ByTrt, # df3_An03_02_AgeGrp_Summ_ByTrt, # df3_An03_02_AgeGrp_Comp_ByTrt, # df3_An03_03_Sex_Summ_ByTrt, # df3_An03_03_Sex_Comp_ByTrt, # df3_An03_04_Ethnic_Summ_ByTrt, # df3_An03_04_Ethnic_Comp_ByTrt, # df3_An03_05_Race_Summ_ByTrt, # df3_An03_05_Race_Comp_ByTrt, # df3_An03_06_Height_Summ_ByTrt, # df3_An03_06_Height_Comp_ByTrt # ) ## ----example ARD script, message=FALSE, warning=FALSE, eval=FALSE------------- # # see location of script: # ARD_script_example("ARD_Out14-1-1.R") # ARD_script_example("ARD_Out14-3-1-1.R") ## ----open ARD script, message=FALSE, warning=FALSE, eval=FALSE---------------- # # open script to inspect: # file.edit(ARD_script_example("ARD_Out14-1-1.R")) # file.edit(ARD_script_example("ARD_Out14-3-1-1.R")) ## ----run ARD script, message=FALSE, warning=FALSE, eval=FALSE----------------- # # run script locally: # source(ARD_script_example("ARD_Out14-1-1.R")) # source(ARD_script_example("ARD_Out14-3-1-1.R"))