# Secondary malignancies calculations # # License: GPL version 3 # Jens Mathis Sauer (c) 2020 source("utils.R") sma_init() # Setup survival object surv_sec <- Surv(time = secmal$time_at_risk, event = ifelse(secmal$time_at_risk_status == 1, 1, 0)) # plot cummulative events sma_plot_secmal_event <- function() { ggsurvplot(survfit(surv_sec ~ 1), data = secmal, xscale = "d_y", title = "Secondary malignacies", fun = "event", break.time.by = sma_break.time.by, surv.median.line = "hv", risk.table = "nrisk_cumevents", ggtheme = theme_bw()) } # plot cummulative hazard sma_plot_secmal_haz <- function() { ggsurvplot(survfit(surv_sec ~ 1), data = secmal, xscale = "d_y", title = "Secondary malignacies", fun = "cumhaz", break.time.by = sma_break.time.by, risk.table = "abs_pct", ggtheme = theme_bw()) } # plot cummulative events per sex sma_plot_secmal_event_sex <- function() { ggsurvplot(survfit(surv_sec ~ sex, data = secmal), data = secmal, xscale = "d_y", title = "Secondary malignacies", fun = "event", break.time.by = sma_break.time.by, surv.median.line = "hv", risk.table = "nrisk_cumevents", pval = TRUE, ggtheme = theme_bw()) } # plot cummulative hazard per sex sma_plot_secmal_haz_sex <- function() { ggsurvplot(survfit(surv_sec ~ sex, data = secmal), data = secmal, xscale = "d_y", title = "Secondary malignacies", fun = "cumhaz", break.time.by = sma_break.time.by, risk.table = "abs_pct", pval = TRUE, ggtheme = theme_bw()) } # plot cummulative events per diagnosis sma_plot_secmal_event_dx <- function() { ggsurvplot(survfit(surv_sec ~ diagnosis, data = secmal), data = secmal, xscale = "d_y", title = "Secondary malignacies", fun = "event", break.time.by = sma_break.time.by, risk.table = "nrisk_cumevents", pval = TRUE, ggtheme = theme_bw()) } # plot cummulative hazard per diagnosis sma_plot_secmal_haz_dx <- function() { ggsurvplot(survfit(surv_sec ~ diagnosis, data = secmal), data = secmal, xscale = "d_y", title = "Secondary malignacies", fun = "cumhaz", break.time.by = sma_break.time.by, risk.table = "abs_pct", pval = TRUE, ggtheme = theme_bw()) } # Write secondary malignancy plots to files sma_plot_file_secmal <- function() { sma_plot_file("secmal_event.png", png, sma_plot_secmal_event) sma_plot_file("secmal_haz.png", png, sma_plot_secmal_haz) sma_plot_file("secmal_event_sex.png", png, sma_plot_secmal_event_sex) sma_plot_file("secmal_haz_sex.png", png, sma_plot_secmal_haz_sex) sma_plot_file("secmal_event_dx.png", png, sma_plot_secmal_event_dx) sma_plot_file("secmal_haz_dx.png", png, sma_plot_secmal_haz_dx) }