secmalasct/utils.R
Jens Sauer 12ffcd4e38 survival: Change plot function to ggsurvplot
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.
2020-11-17 12:58:51 +01:00

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)
}