ggsurvplot modifizieren
Verfasst: Sa Feb 01, 2020 4:43 pm
Hallo,
ich möchte einen ggsurvplot modifizieren hinsichtlich dessen Schriftart sowie der Schriftgröße der Legende.
Die Funktion "ggsurvplot" ist in dem Paket "survminer" enthalten.
Mit dem Paket lassen sich etwas schönere Kaplan-Meier-Kurven erstellen (Stichwort: Drawing Survival Curves using 'ggplot2')
Die Daten für den ggsurvplot entnehme ich als Stichprobe dem Datensatz "lung", der wiederrum in dem Paket "survival" enthalten ist.
Hier mal ein bisschen Code:
Wie ihr dem Bild entnehmen könnt ist die Schriftgröße der Legende recht klein.
Auch ist die Legende inhaltlich nicht ganz optimal, da nur die rechtszensierten Beobachtungen ausgewiesen werden, aber nicht die Kurven selbst, was aber zu vernachlässigen ist.
Meine Fragen sind:
- Wie kann ich die Schriftart ändern, bspw. zu Arial?
- Wie kann ich die Schriftgröße der Legende anpassen?
BTW: Falls jemand genauere Hintergründe zu dem Datensatz "lung" kennen sollte:
- Gehe ich richtig in der Annahme, dass die "Startzeitpunkte" für die Patienten unterschiedlich sind?
- Die Zensierungen ausschließlich rechtszensiert sind?
PS: sehe gerade, dass in dem Code "rechts zensierte Beobachtungen", statt "rechtszensierte Beobachtungen" steht. Tut aber nichts zur Sache.
Wäre super, wenn mir jemand weiterhelfen könnte.
BG ruppy
ich möchte einen ggsurvplot modifizieren hinsichtlich dessen Schriftart sowie der Schriftgröße der Legende.
Die Funktion "ggsurvplot" ist in dem Paket "survminer" enthalten.
Mit dem Paket lassen sich etwas schönere Kaplan-Meier-Kurven erstellen (Stichwort: Drawing Survival Curves using 'ggplot2')
Die Daten für den ggsurvplot entnehme ich als Stichprobe dem Datensatz "lung", der wiederrum in dem Paket "survival" enthalten ist.
Hier mal ein bisschen Code:
Code: Alles auswählen
library(survival)
library(survminer)
library(tidyverse)
# Für Reproduzierbarkeit der Ergebnisse
set.seed(309546)
# Aus Datensatz "lung" wird Stichprobe mit n= 25 gezogen
# Nur die Variablen "time", "status" und "sex" sind von Interesse
exp <- sample_n(lung, size = 25, replace = F) %>%
select(time, status, sex)
# Survival Object erstellen
exp$survival <- Surv(exp$time, exp$status == 2)
# Kaplan-Meier-Schätzer je Geschlecht
exp_fit_sex <- survfit(survival ~ sex, data = exp)
# Plot
ggsurvplot(exp_fit_sex,
data = exp,
censor.shape = "I",
xlab = "Tage",
ylab = "Überlebenswahrscheinlichkeit",
surv.scale ="percent",
legend.title = "rechts zensierte Beobachtungen",
legend.lab = c("Männer", "Frauen"),
legend = "bottom")
Auch ist die Legende inhaltlich nicht ganz optimal, da nur die rechtszensierten Beobachtungen ausgewiesen werden, aber nicht die Kurven selbst, was aber zu vernachlässigen ist.
Meine Fragen sind:
- Wie kann ich die Schriftart ändern, bspw. zu Arial?
- Wie kann ich die Schriftgröße der Legende anpassen?
BTW: Falls jemand genauere Hintergründe zu dem Datensatz "lung" kennen sollte:
- Gehe ich richtig in der Annahme, dass die "Startzeitpunkte" für die Patienten unterschiedlich sind?
- Die Zensierungen ausschließlich rechtszensiert sind?
PS: sehe gerade, dass in dem Code "rechts zensierte Beobachtungen", statt "rechtszensierte Beobachtungen" steht. Tut aber nichts zur Sache.
Wäre super, wenn mir jemand weiterhelfen könnte.
BG ruppy