This will create the plot using the ggsurvplot from "survminer" package. survminer user ggplot for plotting and comes with some powerful and nice looking features.
76 lines
2.5 KiB
R
76 lines
2.5 KiB
R
# secMalASCT utilities
|
|
#
|
|
# License: GPL version 3
|
|
# Jens Mathis Sauer (c) 2020
|
|
|
|
library(tidyverse)
|
|
|
|
#
|
|
# Write plot to filename
|
|
#
|
|
# This will plot "fun" with arguments "..." as filetype "ftype" and
|
|
# the output to "filename". Title and legends can be passed as list,
|
|
# or NULL if not needed.
|
|
# Default filesize is 3000x3000 px and 300 dpi resolution.
|
|
#
|
|
sma_plot_file <- function(fname, ftype, fun) {
|
|
# Open file for writing
|
|
ftype(filename = fname, width = 3000, height = 3000, res = 300)
|
|
|
|
#
|
|
# Write plot into variable, then printing it manually. This is
|
|
# needed to save plots from package "survminer" at the moment.
|
|
#
|
|
# See: https://github.com/kassambara/survminer/issues/152
|
|
#
|
|
p <- fun()
|
|
print(p)
|
|
|
|
# hide "null device 1" in garbage
|
|
garbage <- dev.off()
|
|
}
|
|
|
|
#
|
|
# Load secMalASCT data
|
|
#
|
|
# This loads the secMalASCT data from a CSV file and adjusts some
|
|
# columns to the correct type.
|
|
#
|
|
sma_load_data <- function(file) {
|
|
sma <- as_tibble(read.csv(file, header = TRUE))
|
|
|
|
# Type adjustments
|
|
sma$follow_up_multi <- as.logical(sma$follow_up_multi)
|
|
sma$nicotin_history <- as.logical(sma$nicotin_history)
|
|
sma$relapse_treatment_asct <- as.logical(sma$relapse_treatment_asct)
|
|
sma$relapse_treatment_chemotherapy <- as.logical(sma$relapse_treatment_chemotherapy)
|
|
sma$relapse_treatment_radiotherapy <- as.logical(sma$relapse_treatment_radiotherapy)
|
|
sma$relapse_treatment_surgery <- as.logical(sma$relapse_treatment_surgery)
|
|
|
|
sma$pre_rt <- as.logical(sma$pre_rt)
|
|
sma$pre_rt_type <- as.factor(sma$pre_rt_type)
|
|
sma$post_rt <- as.logical(sma$post_rt)
|
|
sma$post_rt_type <- as.factor(sma$post_rt_type)
|
|
|
|
sma$pre_alkylating_agents <- as.logical(sma$pre_alkylating_agents)
|
|
sma$pre_topoisomerase <- as.logical(sma$pre_topoisomerase)
|
|
sma$pre_anthracyclines <- as.logical(sma$pre_anthracyclines)
|
|
|
|
sma$peri_alkylating_agents <- as.logical(sma$peri_alkylating_agents)
|
|
sma$peri_topoisomerase <- as.logical(sma$peri_topoisomerase)
|
|
sma$peri_anthracyclines <- as.logical(sma$peri_anthracyclines)
|
|
|
|
sma$post_alkylating_agents <- as.logical(sma$post_alkylating_agents)
|
|
sma$post_topoisomerase <- as.logical(sma$post_topoisomerase)
|
|
sma$post_anthracyclines <- as.logical(sma$post_anthracyclines)
|
|
|
|
sma$maintenance_treatment <- as.logical(sma$maintenance_treatment)
|
|
sma$maintenance_treatment_time <- as.integer(sma$maintenance_treatment_time)
|
|
sma$maintenance_treatment_type <- as.factor(sma$maintenance_treatment_type)
|
|
|
|
sma$thalidomid <- as.logical(sma$thalidomid)
|
|
sma$bortezomib <- as.logical(sma$bortezomib)
|
|
|
|
return(sma)
|
|
}
|