0 Daumen
377 Aufrufe


im Rahmen meines Studiums muss ich eine Weibull Funktion mit R erstellen. Da ich allerdings Betriebswirtschaft mache, kenne ich lediglich die Grundzüge der Weibull Funktion und leider ist mir R komplett neu, daher wollte ich euch um Hilfe bitten!

Ich soll mit Hilfe einer Weibull Funktion ermitteln, wie viele Patienten nach einer bestimmten Zeit noch ein Medikament nehmen.

Dazu habe ich folgende Daten:

Months Percent
0 100%
19 85,70%
60 69%
72 66%
84 60%
96 55%

Ich habe dazu einen shape Paramter von 0,861.
Könnt ihr mir bitte helfen, wie ich das alles in R eingebe, damit ich am Schluss eine Tabelle für fortlaufende Jahre und einen Plott erhalten?

Ich wäre um jede Hilfe dankbar!!

Liebe Grüße!
Avatar von

1 Antwort

0 Daumen

Um die Weibull-Funktion in R zu verwenden, müssen Sie zunächst das Paket "survival" installieren und laden. Sie können dies tun, indem Sie die folgenden Befehle in der R-Konsole eingeben:

install.packages("survival")
library(survival)


Um die Weibull-Funktion mit Ihren gegebenen Daten anzupassen, können Sie die survreg()-Funktion verwenden. Der erste Parameter dieser Funktion ist ein Survival-Objekt, das die Zeit und das Überleben der Patienten enthält. Sie können dieses Objekt mit den folgenden Befehlen erstellen:

time <- c(0, 19, 60, 72, 84, 96)
status <- c(1, 0.857, 0.69, 0.66, 0.6, 0.55)
patient_data <- data.frame(time, status)
patient_data$status <- 1 - patient_data$status
surv_obj <- Surv(patient_data$time, patient_data$status)

Im obigen Beispiel, 'time' ist die Zeit in Monaten und 'status' ist der Prozentsatz der Patienten, die das Medikament weiterhin einnehmen (1 bedeutet, dass alle Patienten das Medikament einnehmen, 0.857 bedeutet, dass 85,7% der Patienten das Medikament einnehmen, und so weiter).

Nun können Sie die survreg()-Funktion verwenden, um die Weibull-Funktion anzupassen. Sie können den shape-Parameter mit dem Argument shape festlegen.

weibull_fit <- survreg(surv_obj, dist = "weibull", shape = 0.861)

Um die Überlebenswahrscheinlichkeit für einen bestimmten Zeitpunkt zu berechnen, können Sie die predict()-Funktion verwenden. Beispielsweise können Sie die Überlebenswahrscheinlichkeit nach 24 Monaten berechnen, indem Sie den folgenden Befehl verwenden:

predict(weibull_fit, newdata = data.frame(time = 24), type = "quantile", p = 0.5)

Sie können auch eine Tabelle für fortlaufende Jahre erstellen, indem Sie einen Vektor mit den gewünschten Zeitpunkten erstellen und die predict()-Funktion verwenden, um die Überlebenswahrscheinlichkeit für jeden Zeitpunkt zu berechnen:

year_range <- seq(0, 100, by = 12) # Erstellen Sie einen Vektor mit Zeitpunkten

Avatar von

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community