#=================
# Adverse Events
#=================
library(repfun)
library(dplyr)
datdir <- file.path(gsub("\\","/",tempdir(),fixed=TRUE),"datdir")
dir.create(datdir,showWarnings=FALSE)
repfun::copydata(datdir)
rfenv <- repfun::rs_setup(D_POP="SAFFL",
D_POPLBL="Safety",
D_POPDATA=repfun::adsl %>% dplyr::filter(SAFFL =='Y'),
D_SUBJID=c("STUDYID","USUBJID"),
R_DICTION=NULL,
R_OTHERDATA=NULL,
R_INPUTDATA=NULL,
R_RAWDATA=NULL,
R_SDTMDATA=NULL,
R_ADAMDATA=datdir,
RetEnv=TRUE)
G_POPDATA <- rfenv$G_POPDATA %>% dplyr::mutate(TRT01AN=
ifelse(TRT01A=='Placebo',1,
ifelse(TRT01A=='Xanomeline Low Dose',2,3)))
attr(G_POPDATA$TRT01AN,"label") <- 'Actual Treatment for Period 01 (n)'
adae <- rfenv$adamdata$adae.rda() %>% dplyr::select(-SAFFL) %>%
repfun::ru_getdata(G_POPDATA, c("STUDYID", "USUBJID"),
keeppopvars=c("TRT01AN", "TRT01A"))
aesum_t <- 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) %>%
repfun::ru_denorm(varstodenorm=c("tt_result", "PERCENT"),
groupbyvars=c("tt_summarylevel", "AEBODSYS", "AEDECOD"),
acrossvar="TRT01AN",
acrossvarlabel="TRT01A",
acrossvarprefix=c("tt_ac", "tt_p"))
print('Before Aligning')
print(head(aesum_t[,grep('(AEBODSYS|AEDECOD|tt_ac)',names(aesum_t))],20))
aesum_t_a <- repfun::ru_align(aesum_t, "tt_ac:")
print('After Aligning')
print(head(aesum_t_a[,grep('(AEBODSYS|AEDECOD|tt_ac)',names(aesum_t_a))],20))
#===========================
# Baseline Characteristics
#===========================
rfenv <- repfun::rs_setup(D_POP="SAFFL",
D_POPLBL="Safety",
D_POPDATA=repfun::adsl %>% dplyr::filter(SAFFL =='Y'),
D_SUBJID=c("STUDYID","USUBJID"),
R_DICTION=NULL,
R_OTHERDATA=NULL,
R_INPUTDATA=NULL,
R_RAWDATA=NULL,
R_SDTMDATA=NULL,
R_ADAMDATA=datdir,
RetEnv=TRUE)
G_POPDATA <- 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)'))
demstats_t <- 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")) %>%
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"))
print('Before Aligning')
print(head(demstats_t,10))
demstats_t_a <- repfun::ru_align(demstats_t, "tt_ac:", ncspaces=10)
print('After Aligning')
print(head(demstats_t_a,10))
Run the code above in your browser using DataLab