## ----setup, include = FALSE--------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ## ----eval=FALSE--------------------------------------------------------------- # install.packages("finalfit") ## ----eval=FALSE--------------------------------------------------------------- # install.packages("rstan") # install.packages("boot") ## ----warning=FALSE, message=FALSE--------------------------------------------- library(finalfit) library(dplyr) # Load example dataset, modified version of survival::colon data(colon_s) # Table 1 - Patient demographics by variable of interest ---- explanatory = c("age", "age.factor", "sex.factor", "obstruct.factor") dependent = "perfor.factor" # Bowel perforation colon_s %>% summary_factorlist(dependent, explanatory, p=TRUE, add_dependent_label=TRUE) -> t1 knitr::kable(t1, row.names=FALSE, align=c("l", "l", "r", "r", "r")) ## ----warning=FALSE, message=FALSE--------------------------------------------- # Table 2 - 5 yr mortality ---- explanatory = c("age.factor", "sex.factor", "obstruct.factor") dependent = 'mort_5yr' colon_s %>% summary_factorlist(dependent, explanatory, p=TRUE, add_dependent_label=TRUE) -> t2 knitr::kable(t2, row.names=FALSE, align=c("l", "l", "r", "r", "r")) ## ----warning=FALSE, message=FALSE--------------------------------------------- explanatory = c("age.factor", "sex.factor", "obstruct.factor", "perfor.factor") dependent = 'mort_5yr' colon_s %>% finalfit(dependent, explanatory) -> t3 knitr::kable(t3, row.names=FALSE, align=c("l", "l", "r", "r", "r", "r")) ## ----warning=FALSE, message=FALSE--------------------------------------------- explanatory = c("age.factor", "sex.factor", "obstruct.factor", "perfor.factor") explanatory_multi = c("age.factor", "obstruct.factor") dependent = 'mort_5yr' colon_s %>% finalfit(dependent, explanatory, explanatory_multi) -> t4 knitr::kable(t4, row.names=FALSE, align=c("l", "l", "r", "r", "r", "r")) ## ----warning=FALSE, message=FALSE--------------------------------------------- explanatory = c("age.factor", "sex.factor", "obstruct.factor", "perfor.factor") explanatory_multi = c("age.factor", "obstruct.factor") random_effect = "hospital" dependent = 'mort_5yr' colon_s %>% finalfit(dependent, explanatory, explanatory_multi, random_effect) -> t5 knitr::kable(t5, row.names=FALSE, align=c("l", "l", "r", "r", "r", "r")) ## ----warning=FALSE, message=FALSE--------------------------------------------- explanatory = c("age.factor", "sex.factor", "obstruct.factor", "perfor.factor") dependent = "Surv(time, status)" colon_s %>% finalfit(dependent, explanatory) -> t6 knitr::kable(t6, row.names=FALSE, align=c("l", "l", "r", "r", "r", "r")) ## ----warning=FALSE, message=FALSE--------------------------------------------- explanatory = c("age.factor", "sex.factor", "obstruct.factor", "perfor.factor") dependent = 'mort_5yr' colon_s %>% finalfit(dependent, explanatory, metrics=TRUE) -> t7 knitr::kable(t7[[1]], row.names=FALSE, align=c("l", "l", "r", "r", "r", "r")) knitr::kable(t7[[2]], row.names=FALSE, col.names="") ## ----warning=FALSE, message=FALSE--------------------------------------------- explanatory = c("age.factor", "sex.factor", "obstruct.factor", "perfor.factor") explanatory_multi = c("age.factor", "obstruct.factor") random_effect = "hospital" dependent = 'mort_5yr' # Separate tables colon_s %>% summary_factorlist(dependent, explanatory, fit_id=TRUE) -> example.summary colon_s %>% glmuni(dependent, explanatory) %>% fit2df(estimate_suffix=" (univariable)") -> example.univariable colon_s %>% glmmulti(dependent, explanatory) %>% fit2df(estimate_suffix=" (multivariable)") -> example.multivariable colon_s %>% glmmixed(dependent, explanatory, random_effect) %>% fit2df(estimate_suffix=" (multilevel)") -> example.multilevel # Pipe together example.summary %>% finalfit_merge(example.univariable) %>% finalfit_merge(example.multivariable) %>% finalfit_merge(example.multilevel, last_merge = TRUE) %>% dependent_label(colon_s, dependent, prefix="") -> t8 # place dependent variable label knitr::kable(t8, row.names=FALSE, align=c("l", "l", "r", "r", "r", "r", "r")) ## ----eval=FALSE--------------------------------------------------------------- # explanatory = c("age.factor", "sex.factor", "obstruct.factor", "perfor.factor") # dependent = 'mort_5yr' # colon_s %>% # or_plot(dependent, explanatory) # # Previously fitted models (`glmmulti()` or # `glmmixed()`) can be provided directly to `glmfit` ## ----eval=FALSE--------------------------------------------------------------- # explanatory = c("age.factor", "sex.factor", "obstruct.factor", "perfor.factor") # dependent = "Surv(time, status)" # colon_s %>% # hr_plot(dependent, explanatory, dependent_label = "Survival") # # Previously fitted models (`coxphmulti`) can be provided directly using `coxfit` ## ----eval=FALSE--------------------------------------------------------------- # explanatory = c("perfor.factor") # dependent = "Surv(time, status)" # colon_s %>% # surv_plot(dependent, explanatory, # xlab="Time (days)", pval=TRUE, legend="none") ## ----eval=FALSE--------------------------------------------------------------- # colon_s %>% # mutate( # ff_label(age.factor, "Age (years)") # ) ## ----warning=FALSE, message=FALSE--------------------------------------------- colon_s %>% missing_pattern(dependent, explanatory)