Comment effectuer un test de classement signé par Wilcoxon pour les données de survie dans R?

9

Disons que vous disposez de données de survie comme celle-ci:

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)
  )

Pour effectuer un test de classement de journal standard, on peut utiliser

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

droite?

Mais qu'en est-il des autres tests? Comment pourriez-vous effectuer un test de classement signé par Wilcoxon, un test de Peto ou un test de Fleming-Harrington?

R offre la possibilité d'effectuer un test de Wilcoxon , mais je n'ai pas trouvé comment le laisser prendre en compte la censure.

En outre, le document indique que le réglage rho = 1ferait du test une "modification Peto & Peto du test Gehan-Wilcoxon". Mais est-ce la même chose que le test Peto?

Marcel
la source
Je ne connais pas mes données de survie, mais google semble le faire: Test de Wilcox Et lire les documents de survdiffconfiguration en rho=1fait un test de Peto ...
Justin
Oui merci! c'est aussi loin que je suis arrivé aussi. Cependant, je n'ai pas trouvé de moyen de wilcox.testprendre en compte la censure. Avec rho=1je ne sais pas s'il s'agit d'un test de Peto ou d'un test de Wilcoxon, comme le document l'indique "Modification Peto & Peto du test Gehan-Wilcoxon". Pas besoin de downvote.
Marcel

Réponses:

7

(Vous devriez probablement citer la source de vos conventions de dénomination et expliquer plus en détail pourquoi cette question est posée. S'il s'agit d'essayer de faire correspondre la documentation de SAS ou SPSS, nous pourrions avoir des difficultés interculturelles.)

La réponse rapide à votre question spécifique sur la façon d'obtenir un "test Peto" est d'utiliser rho = 1, mais ce sera une approximation. En se référant aux sections à un échantillon et à deux échantillons du chapitre 7 dans "Survival Analysis" de Klein et Moeschberger, nous lisons que la version Peto-Peto et les versions Gehan étaient toutes deux des versions à deux échantillons (censurées) du Mann-Whitney Wilcoxon test à deux échantillons mais utilisé différentes versions de l'estimateur de la fonction de survie. Il n'existe pas de «test de Fleming-Harrington» unique, car ce terme fait référence à une famille de tests qui se réduisent au log-rank et aux tests de type Wilcoxon à des valeurs spécifiées de rho. (La fonction R / S surv.diffa le paramètre q de la famille Fleming-Harrington fixé à 0 et ne fait varier que le paramètre p qu'elle nomme rho.)

Une méta-question est de savoir si vous devez vous concentrer sur les noms et non sur la substance mathématique? Le choix de p = rho = 0 (avec q fixé à 0) dans la famille Fleming-Harrington pondère les différences (OE) ou entre les groupes de manière égale sur toute la plage de temps, tandis que les tests de Gehan-Wilcoxon et de Peto-Peto pondèrent le plus tôt décès plus fortement. Mon opinion (en tant que médecin) est qu'il est judicieux d'avoir une pondération qui considère les différences précoces plus probantes pour le cas typique, mais peut imaginer des cas spécifiques où l'autre choix pourrait être défendu.

DWin
la source
Merci pour ton explication. Mes conventions d'appellation proviennent de "Kleinbaum & Klein - Survival Analysis" (p. 63ff). Ils définissent w (t_j) = 1 pour Log Rank, w (t_j) = n_j pour Wilcoxon, w (t_j) = n ^ (1/2) pour Tarone-Ware, w (t_j) = s (t_j) pour Peto, et une expression assez difficile pour Flemington-Harrington. Je ne sais pas de quels poids j'aurai besoin à l'avenir, mais je veux être sûr de pouvoir les appliquer avant d'en avoir besoin :) Mais je pense que votre réponse m'aidera à résoudre ce problème. Je vous remercie!
Marcel
5

Pour répondre à votre question sur la façon de calculer cela dans R, vous pouvez utiliser la comp()fonction du survMiscpackage. Exemple:

> 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

Pour choisir les paramètres du test de Fleming-Harrington (indiqués dans la dernière ligne), vous utilisez les arguments FHpet FHq. Par exemple,

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

vous donne le test normal de log-rank (également affiché dans la première ligne du premier exemple).

Karl Ove Hufthammer
la source
1
Dans la version actuelle de survMisc (0.5.4), cela devrait êtrecomp(ten(fit))
Marcin Kosiński