R - Survivalanalyse: Ein Leitfaden für Anfänger
Hallo, angehende Data Scientists! Heute machen wir uns auf eine aufregende Reise in die Welt der Survivalanalyse mit R. Machen Sie sich keine Sorgen, wenn Sie noch nie eine Zeile Code geschrieben haben - ich werde Ihr freundlicher Guide an jedem Schritt sein. Tauchen wir ein!
Was ist Survivalanalyse?
Bevor wir mit dem Coden beginnen, lassen Sie uns verstehen, was es mit der Survivalanalyse auf sich hat. Stellen Sie sich vor, Sie sind ein Arzt, der untersucht, wie lange Patienten nach einer bestimmten Behandlung überleben. Oder vielleicht sind Sie ein Business Analyst, der herausfinden möchte, wie lange Kunden bleiben, bevor sie ein Abonnement kündigen. Genau hier kommt die Survivalanalyse ins Spiel!
Survivalanalyse hilft uns Fragen wie diese zu beantworten:
- Wie lange bis ein Ereignis eintritt?
- Welche Faktoren beeinflussen die Zeit bis zum Ereignis?
- Wie vergleichen sich verschiedene Gruppen hinsichtlich der Überlebenszeit?
Nun, lassen Sie uns mit ein bisschen R-Code die Hände schmutzig machen!
Installation und Laden der notwendigen Pakete
Zuerst einmal müssen wir die erforderlichen Pakete installieren und laden. In R sind Pakete wie Werkzeugkästen, die nützliche Funktionen für spezifische Aufgaben enthalten.
# Installieren Sie das 'survival' Paket
install.packages("survival")
# Laden Sie das Paket
library(survival)
Machen Sie sich keine Sorgen, wenn Sie sehen, dass einige Nachrichten erscheinen, wenn Sie diese Befehle ausführen. Solange keine Fehlermeldungen in Rot erscheinen, sind Sie auf dem richtigen Weg!
Laden und erkunden der Daten
Für diesen Tutorial verwenden wir einen eingebauten Datensatz namens 'lung' aus dem survival Paket. Dieser Datensatz enthält Informationen über Patienten mit fortgeschrittener Lungenkrebs-Erkrankung.
# Laden Sie den lung Datensatz
data(lung)
# Werfen Sie einen Blick auf die ersten few Zeilen
head(lung)
# Erhalten Sie eine Zusammenfassung des Datensatzes
summary(lung)
Wenn Sie diese Befehle ausführen, sehen Sie einen Blick auf die Daten. Nehmen Sie sich einen Moment Zeit, um sich mit den Variablen vertraut zu machen. Wir werden mit folgenden Variablen arbeiten:
- 'time': Überlebenszeit in Tagen
- 'status': Zensierstatus (1=zensiert, 2=gestorben)
- 'age': Alter des Patienten
- 'sex': Geschlecht des Patienten (1=männlich, 2=weiblich)
Erstellen eines Überlebensobjekts
Nun erstellen wir ein Überlebensobjekt. Dies ist ein spezielles R-Objekt, das die Überlebenszeit und den Ereignisstatus kombiniert.
# Erstellen Sie ein Überlebensobjekt
surv_object <- Surv(time = lung$time, event = lung$status == 2)
# Drucken Sie die ersten few Einträge
head(surv_object)
Sie werden eine Reihe von Zahlen mit '+' Zeichen sehen. Das '+' indicates zensierte Beobachtungen (Patienten, die am Ende der Studie noch am Leben waren).
Kaplan-Meier-Überlebenskurve
Eine der häufigsten Visualisierungen in der Survivalanalyse ist die Kaplan-Meier-Kurve. Sie zeigt die Wahrscheinlichkeit des Überlebens über die Zeit.
# Passen Sie eine Kaplan-Meier-Kurve an
km_fit <- survfit(surv_object ~ 1, data = lung)
# Ploten Sie die Kurve
plot(km_fit, main = "Kaplan-Meier-Überlebenskurve",
xlab = "Zeit (Tage)", ylab = "Überlebenswahrscheinlichkeit")
Voilà! Sie haben gerade Ihre erste Überlebenskurve erstellt. Die y-Achse zeigt die Wahrscheinlichkeit des Überlebens, und die x-Achse zeigt die Zeit in Tagen. Die Kurve senkt sich jedes Mal, wenn ein Ereignis (Tod) auftritt.
Vergleichen von Gruppen: Männlich vs. Weiblich
Lassen Sie uns die Überlebenskurven für Männer und Frauen vergleichen.
# Passen Sie Kaplan-Meier-Kurven nach Geschlecht an
km_sex <- survfit(surv_object ~ sex, data = lung)
# Ploten Sie die Kurven
plot(km_sex, col = c("blau", "rot"), main = "Überlebenskurven nach Geschlecht",
xlab = "Zeit (Tage)", ylab = "Überlebenswahrscheinlichkeit")
legend("oben rechts", c("Männlich", "Weiblich"), col = c("blau", "rot"), lty = 1)
Jetzt haben Sie zwei Kurven: Blau für Männer und Rot für Frauen. Können Sie irgendwelche Unterschiede erkennen?
Cox-Proportionalhazards-Modell
Schließlich passen wir ein Cox-Proportionalhazards-Modell an. Dieses Modell hilft uns zu verstehen, wie verschiedene Faktoren das Überleben beeinflussen.
# Passen Sie ein Cox-Proportionalhazards-Modell an
cox_model <- coxph(surv_object ~ age + sex, data = lung)
# Drucken Sie die Zusammenfassung
summary(cox_model)
Lassen Sie sich nicht von der Ausgabe abschrecken! Hier ist, wonach Sie suchen sollten:
- Die 'coef' Spalte zeigt den Effekt jeder Variablen.
- Die 'exp(coef)' Spalte ist einfacher zu interpretieren: Werte > 1 indicate erhöhte Risiken, < 1 indicate verringerte Risiken.
- Die 'Pr(>|z|)' Spalte zeigt den p-Wert. Kleine Werte (< 0.05) indicate statistische Signifikanz.
Schlussfolgerung
Glückwunsch! Sie haben gerade Ihre erste Survivalanalyse in R abgeschlossen. Wir haben viel Boden cobered, von der Erstellung von Überlebensobjekten bis hin zur Anpassung komplexer Modelle. Denken Sie daran, Übung macht den Meister. Versuchen Sie, mit dem Code zu spielen, ändern Sie Variablen, und sehen Sie, was passiert.
Hier ist eine Zusammenfassung der Hauptfunktionen, die wir verwendet haben:
Funktion | Zweck |
---|---|
Surv() | Erstellen Sie ein Überlebensobjekt |
survfit() | Passen Sie eine Überlebenskurve an |
plot() | Visualisieren Sie Überlebenskurven |
coxph() | Passen Sie ein Cox-Proportionalhazards-Modell an |
Weitersuchen, weiterlernen und vor allem: Spaß haben mit R und der Survivalanalyse!
Credits: Image by storyset