Як виконати тест рангового підпису Вілкоксона на дані про виживання в R?


9

Скажімо, у вас є такі дані про виживання:

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

Для виконання стандартного тесту з ранжуванням журналу можна використовувати

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

правильно?

А як щодо іншого тесту? Як ви могли провести тест на ранг Вілкоксона, тест Пето або тест Флемінга-Харрінгтона?

R надає можливість провести тест Вілкоксона , проте я не знайшов, як дозволити це врахувати цензуру.

Крім того, доктор заявляє, що встановлення rho = 1перетворить тест на "модифікацію Peto & Peto тесту Геана-Вілкоксона". Але це те саме, що і тест Пето?


Я не знаю своїх даних про виживання, але Google, здається, тест : Wilcox Test. Читання документів для survdiffвстановлення rho=1робить це тестом Пето ...
Джастін

так дякую! це настільки, наскільки я погодився. Однак я не знайшов способу wilcox.testвзяти до уваги цензуру. З rho=1Я впевнений , якщо це тест Пето або тест Вілкоксона, як документ свідчить «модифікації Пето і Пето тесту Gehan-Вілкоксона». Не потрібно брати участь у голосуванні.
Марсель

Відповіді:


7

(Напевно, ви повинні навести джерело своїх конвенцій про іменування та пояснити більш докладно, чому виникає це питання. Якщо це випадок спроби відповідати документації для SAS або SPSS, у нас можуть виникнути міжкультурні труднощі.)

Швидка відповідь на ваше конкретне запитання про те, як отримати "тест Пето" - це використовувати rho = 1, але це буде наближенням. Посилаючись на одноразовий та дво зразковий розділи глави 7 у «Аналізі виживання» Кляйна та Моешбергера, ми читаємо, що версія Пето-Пето та версія Геана були двомодельною (цензурованою) версіями Манна-Вітні Вілкоксона двопробний тест, але використовували різні версії оцінювача функції виживання. Не існує єдиного "тесту Флемінга-Харрінгтона", оскільки цей термін відноситься до сімейства тестів, які зводяться до log-rank та тестів типу Wilcoxon при заданих значеннях rho. (Функція R / S surv.diffмає q-параметр сімейства Флемінга-Харрінгтона, зафіксований у 0, і змінює лише p-параметр, який він називає rho.)

Мета питання - чи слід зосереджуватись на назвах, а не на математичній речовині? Вибираючи p = rho = 0 (з q, зафіксованим на 0), сімейство Флемінга-Харрінгтона зважує (ОЕ) або різницю міжгрупових груп однаково в різних межах часу, тоді як і тести Гехана-Вілкоксона, і Пето-Пето важать раннє смерті сильніше. Моя думка (як лікаря) полягає в тому, що розумним є зважування, вважає, що ранні розбіжності є більш імовірними для типового випадку, але можна уявити конкретні випадки, коли інший вибір можна було б захистити.


Дякую за ваше пояснення. Мої умови називання походять від "Kleinbaum & Klein - Аналіз виживання" (стор. 63). Вони визначають w (t_j) = 1 для журналу, w (t_j) = n_j для Wilcoxon, w (t_j) = n ^ (1/2) для Tarone-Ware, w (t_j) = s (t_j) для Peto, і досить важкий вираз для Флемінгтона-Харрінгтона. Я не знаю, які ваги мені знадобляться в майбутньому, але я хочу бути впевненим, що я зможу застосовувати їх до того, як мені знадобляться :) Але я думаю, що ваша відповідь допоможе мені у цій проблемі. Дякую!
Марсель

6

Щоб відповісти на ваше запитання про те, як обчислити це в R, ви можете використовувати comp()функцію з survMiscпакету. Приклад:

> 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

Щоб вибрати параметри тесту Флемінга-Харрінгтона (показані в останньому рядку), ви використовуєте аргументи FHpта FHq. Наприклад,

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

дає вам звичайний тест журналу (також показаний у першому рядку в першому прикладі).


1
У поточній версії survMisc (0.5.4) має бутиcomp(ten(fit))
Marcin Kosiński
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.