PDF-Version

Aufgabe 4-1

Die SAS-Prozedur für diese Aufgabe ist PROC LIFETEST. Benutzen Sie für diese Aufgabe die Daten der UMARU Impact Study (umaru.sas7bdat), einer randomisierten Studie zum Vergleich von Behandlungsprogrammen (längere oder kürzere Therapie) zur Reduzierung von Drogen-Missbrauch. In dieser Studie wurde die Zeit in Tagen bis zur Rückkehr zur Droge gemessen. Der hauptsächliche Grund für Zensierungen war das Ende der Studie, sodass Sie von uninformativer Rechtszensierung ausgehen können.

a)

Erstellen Sie ein Kaplan-Meier-Diagramm getrennt nach Therapielänge mit Hall-Wellner Konfidenzbändern und den numbers at risk.

PROC LIFETEST 
  data = survival.umaru 
  plots = survival(atrisk(atriskonly)=0 to 1300 by 100 CB = HW)
  method = km
  outsurv = survival.umaru_surv
  ;
  
  STRATA treat/ test=wilcoxon test=logrank;
  TIME time * censor(0);
RUN;
knitr::include_graphics("plots/Aufgabe04/KM.pdf")

b)

Schätzen Sie nach visuellem Eindruck ab, ob es einen Unterschied in den Survivalkurven gibt; wenn ja, beschreiben Sie ihn qualitativ.

Die Treatmentgruppe mit der längeren Behandlung (rote Kurve) liegt über den gesamten Beobachtungszeitraum über der Gruppe mit der kürzeren Behandlung. Das heißt, dass die Gruppe mit der längeren Behandlung später rückfällig wird als die Gruppe mit der kürzeren Behandlung. Erst gegen Ende der Beobachtungszeit überlappen sich die Konfidenzbänder sehr stark, so dass wir uns ob dieses Unterschieds wohl ab ca. 500 Tagen eher weniger sicher sind.
Ab ca. 600 Tagen haben wir außerdem praktisch keine Daten mehr, weshalb wir eigentlich nur sinnvolle Aussagen bis ~500 Tage machen können.

c)

Interpretieren Sie die Ergebnisse des Log-Rank- und des Wilcoxon-Tests.

knitr::include_graphics("plots/Aufgabe04/tests.pdf")

Beide Tests kommen (unter \(\alpha = 0.05\)) zum Schluss, dass es einen signifikanten Unterschied in der Rückfälligkeitszeit zwischen den beiden Treatmentgruppen gibt.

d)

Geben Sie für beide Therapiegruppen getrennt an, wie groß die geschätzten Wahrscheinlichkeiten dafür sind, dass die Patienten frühestens nach 50, 100, und 200 Tagen wieder Drogen konsumieren. Geben Sie auch 95%-Konfidenzintervalle an.

Die Werte entstammen dem outsurv output. Für die Stellen, an denen z.B. kein Werte für \(t = 50\) angegeben war, da dort kein Ereignis lag, habe ich den nächst früheren Wert (z.B. \(t = 48\)) verwendet.

(Zuerst dachte ich, der nächst spätere Wert sei korrekt, dann dachte ich über die Definition der Survivvalfunktion nach, und dann hing ich mich an dem “frühestens” in der Aufgabenstellung auf, und dann war ich verwirrt.)

umarutimes <- haven::read_sas("data/umaru_surv.sas7bdat") %>%
  arrange(TIME) %>%
  select(TIME, TREAT, SURVIVAL, SDF_LCL, SDF_UCL)

bind_cols(
  purrr::map_df(c(50, 100, 200), function(x) {
    umarutimes %>%
      filter(TREAT == 0, TIME <= x) %>%
      tail(1)
  }) %>% 
    mutate_all(round, 2) %>%
    mutate(ci = glue::glue("({SDF_LCL}, {SDF_UCL})")) %>%
    select(-TREAT, -SDF_LCL, -SDF_UCL),
  purrr::map_df(c(50, 100, 200), function(x) {
    umarutimes %>%
      filter(TREAT == 1, TIME <= x) %>%
      tail(1)
  }) %>% 
    mutate_all(round, 2) %>%
    mutate(ci = glue::glue("({SDF_LCL}, {SDF_UCL})")) %>%
    select(-TREAT, -SDF_LCL, -SDF_UCL)
) %>%
  kable(
    booktabs = TRUE, escape = FALSE,
    col.names = c("Time", "$\\widehat{S}_t$", "$CI_{95\\%}$",
                  "Time", "$\\widehat{S}_t$", "$CI_{95\\%}$")
  ) %>%
  kable_styling(position = "center", protect_latex = TRUE) %>%
  add_header_above(
    header = c("Kurze Behandlung" = 3, "Lange Behandlung" = 3)
  )
Kurze Behandlung
Lange Behandlung
Time \(\widehat{S}_t\) \(CI_{95\%}\) Time \(\widehat{S}_t\) \(CI_{95\%}\)
50 0.82 (0.77, 0.86) 48 0.85 (0.81, 0.89)
100 0.61 (0.55, 0.66) 96 0.72 (0.67, 0.77)
198 0.37 (0.32, 0.42) 200 0.48 (0.43, 0.54)

e)

Geben Sie für beide Gruppen getrennt Punktschätzer und Konfidenzintervalle für den Median sowie für das 25. und 75. Perzentil an.

Links: Gruppe 0 (kurze Behandlungszeit) – Rechts: Gruppe 1 (lange Behandlungszeit)

knitr::include_graphics(c(
  "plots/Aufgabe04/quantile_0.pdf",
  "plots/Aufgabe04/quantile_1.pdf"
))