--- title: "Align-Columns-for-TLF-Reporting" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Align-Columns-for-TLF-Reporting} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ``` ## Vignette Build Datetime ```{r built} message(paste0('Datetime: ',Sys.Date(),':',Sys.time())) ``` ## Load Libraries ```{r setup, message=FALSE} library(repfun) library(dplyr) library(kableExtra) ``` ## Set Up the Reporting Environment ```{r envir} tmpdr <- tempdir() datdir <- file.path(gsub("\\","/",tmpdr,fixed=TRUE),"datdir") dir.create(datdir,showWarnings=FALSE) repfun::copydata(datdir) repfun::rs_setup(D_POP="SAFFL",D_POPLBL="Safety",D_POPDATA=repfun::adsl %>% dplyr::filter(SAFFL =='Y'), D_SUBJID=c("STUDYID","USUBJID"), R_ADAMDATA=datdir) repfun:::rfenv$G_POPDATA %>% dplyr::mutate(TRT01AN=ifelse(TRT01A=='Placebo',1,ifelse(TRT01A=='Xanomeline Low Dose',2,3))) %>% repfun::ru_labels(varlabels=list('TRT01AN'='Actual Treatment for Period 01 (n)')) -> G_POPDATA ``` ## Read in ADAE and Apply Population ```{r update1} adae <- repfun:::rfenv$adamdata$adae.rda() %>% select(-SAFFL) %>% repfun::ru_getdata(G_POPDATA, c("STUDYID", "USUBJID"), keeppopvars=c("TRT01AN", "TRT01A")) ``` ## Generate Counts and Percents for AE Body System and Preferred Term ```{r cntper1} aesum <- repfun::ru_freq(adae, dsetindenom=G_POPDATA, countdistinctvars=c('STUDYID','USUBJID'), groupbyvarsnumer=c('TRT01AN','TRT01A','AEBODSYS','AEDECOD'), anyeventvars = c('AEBODSYS','AEDECOD'), anyeventvalues = c('ANY EVENT','ANY EVENT'), groupbyvarsdenom=c('TRT01AN'), resultstyle="NUMERPCT", totalforvar=c('TRT01AN'), totalid=99, totaldecode='Total', codedecodevarpairs=c("TRT01AN", "TRT01A"), varcodelistpairs=c(""), codelistnames=list(), resultpctdps=0) ``` ## Denormalize the AE Counts and Percents Data Set ```{r denorm1} aesum_t <- aesum %>% repfun::ru_denorm(varstodenorm=c("tt_result", "PERCENT"), groupbyvars=c("tt_summarylevel", "AEBODSYS", "AEDECOD"), acrossvar="TRT01AN", acrossvarlabel="TRT01A", acrossvarprefix=c("tt_ac", "tt_p")) ``` ## Align the Columns for TLF Reporting ```{r align1} aesum_t_a <- repfun::ru_align(aesum_t, "tt_ac:") %>% select(-c('tt_p01','tt_p02','tt_p03','tt_p99','tt_summarylevel')) ``` ## Display the Aligned AE Counts and Percents Data Set ```{r results1} print("Aligned Reporting Data Set for AE Counts and Percents") print(head(aesum_t_a,10)) ``` ## Generate Counts and Percents for Baseline Characteristics Data ```{r cntper2} demstats <- repfun::ru_sumstats(G_POPDATA, analysisvars=c("AGE","TRTDURD"), groupbyvars=c("STUDYID","TRT01AN"), codedecodevarpairs=c("TRT01AN", "TRT01A"), totalforvar="TRT01AN", totalid=99, totaldecode="Total", statsinrowsyn = "Y", analysisvardps=list("AGE"=1,"TRTDURD"=2), statslist=c("n", "mean", "median", "sd", "min", "max")) ``` ## Denormalize the Baseline Characteristics Summary Statistics Data ```{r denorm2} demstats_t <- demstats %>% repfun::ru_denorm(varstodenorm=c("tt_result"), groupbyvars=c("tt_avid", "tt_avnm", "tt_svid", "tt_svnm"), acrossvar="TRT01AN", acrossvarlabel="TRT01A", acrossvarprefix=c("tt_ac")) ``` ## Align the Columns for TLF Reporting ```{r align2} demstats_t_a <- repfun::ru_align(demstats_t, "tt_ac:") ``` ## Display the Aligned Baseline Characteristics Summary Statistics Data Set ```{r results2} print("Aligned Reporting Data Set for Baseline Characteristics Summary Stats") print(head(demstats_t_a,10)) ```