Add secondary malignancy plots

This adds some plots to show data for the secondary malignacies.
This commit is contained in:
Jens Sauer 2020-11-17 18:08:45 +01:00
parent 5e7b6007f1
commit fcd2d330aa
3 changed files with 93 additions and 1 deletions

2
.gitignore vendored
View File

@ -1,4 +1,4 @@
.RData .RData
.Rhistory .Rhistory
survival_* *.png
*.csv *.csv

View File

@ -10,6 +10,11 @@ survival.R
Source this file and call one of the plot functions to show plot in R. Source this file and call one of the plot functions to show plot in R.
`sma_plot_file_surv()` will save all plots to files. `sma_plot_file_surv()` will save all plots to files.
secmal.R
--------
This file contains the secondary malignancy plots. You can call the
functions in R or `sma_plot_file_secmal()` to save them to files.
plot_survival.R plot_survival.R
--------------- ---------------
Special script to generate all plots and save them in files. Special script to generate all plots and save them in files.

87
secmal.R Normal file
View File

@ -0,0 +1,87 @@
# 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 = secmal$time_at_risk_status)
# 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",
surv.median.line = "hv",
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)
}