Wie führe ich einen von Wilcoxon signierten Rangtest für Überlebensdaten in R durch?

9

Angenommen, Sie haben Überlebensdaten wie diese:

obs <- data.frame(
  time = c(floor(runif(100) * 30), floor((runif(100)^2) * 30)),
  status = c(rbinom(100, 1, 0.2), rbinom(100, 1, 0.7)),
  group = gl(2,100)
  )

Um einen Standard-Log-Rank-Test durchzuführen, kann man verwenden

survdiff(Surv(time, status) ~ group, data = obs, rho = 0)

richtig?

Aber was ist mit anderen Tests? Wie können Sie einen von Wilcoxon signierten Rangtest, einen Peto-Test oder einen Fleming-Harrington-Test durchführen?

R bietet die Möglichkeit, einen Wilcoxon-Test durchzuführen , ich habe jedoch nicht herausgefunden, wie ich die Zensur berücksichtigen kann.

Darüber hinaus gibt der Arzt an, dass die Einstellung rho = 1den Test zu einer "Peto & Peto-Modifikation des Gehan-Wilcoxon-Tests" machen würde. Aber ist das dasselbe wie beim Peto-Test?

Marcel
quelle
Ich kenne meine Überlebensdaten nicht, aber Google scheint: Wilcox-Test Und das Lesen der Dokumente zum survdiffEinstellen rho=1macht es zu einem Peto-Test ...
Justin
ja Dankeschön! das ist so weit wie ich auch gekommen bin. Ich habe jedoch keinen Weg gefunden, die wilcox.testZensur zu berücksichtigen. Mit rho=1Ich bin nicht sicher , ob dies ein Peto - Test oder ein Wilcoxon - Test, wie der Doc sagt „Peto & Peto Modifikation des Gehan-Wilcoxon - Test“. Keine Notwendigkeit, abzustimmen.
Marcel

Antworten:

7

(Sie sollten wahrscheinlich die Quelle für Ihre Namenskonventionen angeben und genauer erklären, warum diese Frage gestellt wird. Wenn Sie versuchen, die Dokumentation für SAS oder SPSS abzugleichen, haben wir möglicherweise interkulturelle Schwierigkeiten.)

Die schnelle Antwort auf Ihre spezielle Frage, wie Sie einen "Peto-Test" erhalten, ist die Verwendung von rho = 1, dies ist jedoch eine Annäherung. Unter Bezugnahme auf die Abschnitte mit einer Stichprobe und zwei Stichproben in Kapitel 7 in Klein und Moeschbergers "Überlebensanalyse" lesen wir, dass die Peto-Peto-Version und die Gehan-Version beide (zensierte) Versionen des Mann-Whitney Wilcoxon mit zwei Stichproben waren Test mit zwei Stichproben, jedoch mit unterschiedlichen Versionen des Überlebensfunktionsschätzers. Es gibt keinen einzigen "Fleming-Harrington-Test", da sich dieser Begriff auf eine Familie von Tests bezieht, die sich auf den Log-Rank- und den Wilcoxon-Typ-Test bei festgelegten Werten von reduzieren rho. (Die R / S- surv.diffFunktion hat den q-Parameter der Fleming-Harrington-Familie auf 0 festgelegt und variiert nur den p-Parameter, den sie rho nennt.)

Eine Meta-Frage ist, ob Sie sich auf die Namen und nicht auf die mathematische Substanz konzentrieren sollten. Wenn Sie in der Fleming-Harrington-Familie p = rho = 0 (wobei q auf 0 festgelegt ist) wählen, werden die (OE) - oder gruppenübergreifenden Unterschiede über den Zeitbereich gleich gewichtet, während sowohl der Gehan-Wilcoxon- als auch der Peto-Peto-Test die frühen gewichten Todesfälle stärker. Meine Meinung (als Arzt) ist, dass es sinnvoll ist, eine Gewichtung vorzunehmen, die frühe Unterschiede für den typischen Fall als beweiskräftiger ansieht, sich aber bestimmte Fälle vorstellen kann, in denen die andere Wahl verteidigt werden könnte.

DWin
quelle
Ich danke Ihnen für Ihre Erklärung. Meine Namenskonventionen stammen von "Kleinbaum & Klein - Survival Analysis" (S. 63ff). Sie definieren w (t_j) = 1 für Log Rank, w (t_j) = n_j für Wilcoxon, w (t_j) = n ^ (1/2) für Tarone-Ware, w (t_j) = s (t_j) für Peto, und ein ziemlich schwieriger Ausdruck für Flemington-Harrington. Ich weiß nicht, welche Gewichte ich in Zukunft benötigen werde, aber ich möchte sicher sein, dass ich sie anwenden kann, bevor ich sie brauche :) Aber ich denke, Ihre Antwort wird mir bei diesem Problem helfen. Vielen Dank!
Marcel
5

Um Ihre Frage zu beantworten, wie dies in R berechnet werden kann, können Sie die comp()Funktion aus dem survMiscPaket verwenden. Beispiel:

> library(survMisc)
> fit = survfit(Surv(time, status) ~ x, data = aml)
> comp(fit)$tests$lrTests
                              ChiSq df      p
Log-rank                       3.40  1 0.0653
Gehan-Breslow (mod~ Wilcoxon)  2.72  1 0.0989
Tarone-Ware                    2.98  1 0.0842
Peto-Peto                      2.71  1 0.0998
Mod~ Peto-Peto (Andersen)      2.64  1 0.1042
Flem~-Harr~ with p=1, q=1      1.45  1 0.2281

Um die Parameter für den Fleming-Harrington-Test (in der letzten Zeile gezeigt) auszuwählen, verwenden Sie die Argumente FHpund FHq. Beispielsweise,

> comp(fit, FHp=0, FHq=0)$tests$lrTests
[…]
Flem~-Harr~ with p=0, q=0      3.40  1 0.0653

gibt Ihnen den normalen Log-Rank-Test (auch in der ersten Zeile im ersten Beispiel gezeigt).

Karl Ove Hufthammer
quelle
1
In der aktuellen SurvMisc-Version (0.5.4) sollte es seincomp(ten(fit))
Marcin Kosiński