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!

R - Survival Analysis

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