R에서 생존 데이터에 대해 Wilcoxon 부호있는 순위 테스트를 수행하는 방법은 무엇입니까?


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)

권리?

그러나 다른 테스트는 어떻습니까? Wilcoxon 부호 등급 테스트, Peto 테스트 또는 Fleming-Harrington 테스트를 어떻게 수행 할 수 있습니까?

R은 Wilcoxon 테스트 를 수행 할 수있는 가능성을 제공 하지만 검열을 고려하는 방법을 찾지 못했습니다.

또한 의사는이 설정 rho = 1이 테스트를 "Gehan-Wilcoxon 테스트의 Peto & Peto 수정"으로 만들 것이라고 말합니다. 그러나 이것은 Peto 테스트와 동일합니까?


나는 나의 생존 데이터를 모르겠지만, 구글은 보인다 : 윌콕스 테스트 그리고에 대한 문서를 읽고 survdiff설정하는 것은 rho=1... 그것을 페토 테스트를합니다
저스틴

네 감사합니다! 이것은 내가 얻을 수있는 한입니다. 그러나 wilcox.test검열을 고려 하는 방법을 찾지 못했습니다 . 함께 rho=1내가 확신 오전 문서 "는 Gehan - 윌 콕슨 시험의 페토 & 페토 수정"상태로 이것은 페토 시험 또는 윌 콕슨 시험 인 경우. 공감할 필요가 없습니다.
Marcel

답변:


7

(이름 지정 규칙의 출처를 인용하고이 질문이 제기 된 이유를 더 자세히 설명해야합니다.이 경우 SAS 또는 SPSS의 문서와 일치하는 경우 문화 간 어려움이있을 수 있습니다.)

"Peto test"를 얻는 방법에 대한 특정 질문에 대한 빠른 답변은 rho = 1을 사용하는 것이지만 근사치입니다. Klein과 Moeschberger의 "Survival Analysis"7 장의 1- 표본 및 2- 표본 섹션을 참조하면 Peto-Peto 버전과 Gehan 버전이 Mann-Whitney Wilcoxon의 2 샘플 (검열) 버전임을 알 수 있습니다. 2- 표본 검정이지만 다른 버전의 생존 함수 추정기를 사용했습니다. 'Fleming-Harrington test'라는 단일 용어는 없습니다.이 용어는로 지정된 값에서 로그 순위 및 Wilcoxon 유형 테스트를 줄이는 테스트 계열을 나타냅니다 rho. (R / S surv.diff기능은 Fleming-Harrington 제품군의 q- 파라미터가 0으로 고정되어 있으며 rho로 명명 된 p- 파라미터 만 변경합니다.)

메타 질문은 수학 물질이 아닌 이름에 집중해야하는지 여부입니다. 플레밍-해링턴 (Fleming-Harrington) 가족에서 p = rho = 0 (q는 0으로 고정됨)을 선택하면 시간 범위에 걸쳐 (OE) 또는 그룹 간 차이에 균등하게 가중치가 적용되지만 Gehan-Wilcoxon 및 Peto-Peto 테스트는 초기에 가중치가 적용됩니다 더 강하게 죽음. 내 의사 (의사로서)는 일반적인 경우에 초기 차이를 더 유망한 것으로 간주하지만 다른 선택을 방어 할 수있는 특정 사례를 상상할 수 있다는 것이 합리적이라고 생각합니다.


설명해 주셔서 감사합니다. 내 명명 규칙은 "Kleinbaum & Klein-Survival Analysis"(p. 63ff)에서 나옵니다. 그들은 Log Rank의 경우 w (t_j) = 1, Wilcoxon의 경우 w (t_j) = n_j, Tarone-Ware의 경우 w (t_j) = n ^ (1/2), Peto의 경우 w (t_j) = s (t_j), Flemington-Harrington에 대한 다소 어려운 표현입니다. 나는 미래에 어떤 가중치가 필요할지 모르지만 필요하기 전에 적용 할 수 있는지 확인하고 싶습니다.) 그러나 귀하의 답변 이이 문제에 도움이 될 것이라고 생각합니다. 감사합니다!
Marcel

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

Fleming-Harrington 테스트 (마지막 줄에 표시)에 대한 매개 변수를 선택하려면 FHpFHq인수 를 사용합니다 . 예를 들어

> 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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.