आर में उत्तरजीविता डेटा के लिए विलकॉक्सन हस्ताक्षरित रैंक परीक्षण कैसे करें?


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)

सही?

लेकिन अन्य परीक्षण के बारे में क्या? आप विलकॉक्सन हस्ताक्षरित रैंक टेस्ट, पेटो टेस्ट या फ्लेमिंग-हैरिंगटन टेस्ट कैसे कर सकते हैं?

आर विलकॉक्सन टेस्ट करने की संभावना प्रदान करता है , हालांकि मैंने यह नहीं पाया कि इसे सेंसर करने की अनुमति कैसे दी जाए।

इसके अलावा डॉक में कहा गया है कि सेटिंग rho = 1परीक्षण को "गेहान-विल्कोक्सन परीक्षण का पेटो और पेटो संशोधन" बना देगी। लेकिन क्या यह पेटो टेस्ट जैसा ही है?


मुझे अपना उत्तरजीविता पता नहीं है, लेकिन गूगल को लगता है: विलकॉक्स टेस्ट और survdiffसेटिंग के लिए डॉक्स पढ़ने rho=1से यह पेटो टेस्ट हो जाता है ...
जस्टिन

हाँ धन्यवाद! यह उतना ही है जितना मैं अस्वस्थ हुआ। हालाँकि, मुझे wilcox.testसेंसर को ध्यान में रखने का कोई तरीका नहीं मिला । साथ rho=1मैं लेकर अनिश्चित हूं कि यह एक पीटो परीक्षण या एक Wilcoxon परीक्षण दस्तावेज़ में कहा गया है "Gehan-Wilcoxon परीक्षण के पीटो और पीटो संशोधन" के रूप में है। नीचा दिखाने की जरूरत नहीं।
मार्सेल

जवाबों:


7

(आपको अपने नामकरण सम्मेलनों के लिए स्रोत का हवाला देना चाहिए और अधिक विस्तार से बताना चाहिए कि यह प्रश्न क्यों लगाया जा रहा है। यदि यह एसएएस या एसपीएसएस के लिए दस्तावेज से मेल खाने की कोशिश का मामला है, तो हमें क्रॉस-सांस्कृतिक कठिनाइयाँ हो सकती हैं।)

"पेटो परीक्षण" प्राप्त करने के तरीके के बारे में आपके विशिष्ट प्रश्न का त्वरित उत्तर rho = 1 का उपयोग करना है, लेकिन यह एक सन्निकटन होगा। क्लेन और मोइश्चबर्गर के "सर्वाइवल एनालिसिस" में अध्याय 7 के एक-नमूना और दो-नमूना अनुभागों का उल्लेख करते हुए, हमने पढ़ा कि पेटो-पेटो संस्करण और गेहान संस्करण दोनों मैन-व्हिटनी विल्कॉन के दो-नमूना (सेंसर) संस्करण थे दो-नमूना परीक्षण लेकिन अस्तित्व समारोह अनुमानक के विभिन्न संस्करणों का इस्तेमाल किया। उस अवधि के बाद से कोई एकल 'फ्लेमिंग-हैरिंगटन परीक्षण' नहीं है, जो परीक्षणों के एक परिवार को संदर्भित करता है, जो निर्दिष्ट मानों पर लॉग-रैंक और विलकॉक्सन-प्रकार के परीक्षणों को कम करता है rho। (आर / एस surv.diffफ़ंक्शन में फ्लेमिंग-हैरिंगटन परिवार का क्यू-पैरामीटर 0 पर तय किया गया है और केवल पी-पैरामीटर को बदलता है जिसे यह आरएचओ नाम देता है।)

एक मेटा-सवाल यह है कि क्या आपको नामों पर ध्यान केंद्रित करना चाहिए और गणितीय पदार्थ पर नहीं? फ्लेमिंग-हैरिंगटन परिवार में p = rho = 0 (q के साथ 0 पर नियत किया गया) का चयन (OE) या क्रॉस-ग्रुप के अंतर को समय की सीमा के बीच समान रूप से करता है, जबकि गेहान-विल्कोसन और पेटो और पेटो दोनों का वजन जल्दी होता है। अधिक मजबूती से मौतें। मेरी राय (एक चिकित्सक के रूप में) यह है कि विशिष्ट मामलों के लिए प्रारंभिक मतभेदों को अधिक संभावित मानने के लिए वजन उठाना समझदारी है, लेकिन विशिष्ट उदाहरणों की कल्पना कर सकते हैं जहां दूसरी पसंद का बचाव किया जा सकता है।


आपके विवरण के लिए धन्यवाद। मेरे नामकरण सम्मेलन "क्लेनबाम और क्लेन - उत्तरजीविता विश्लेषण" (पृष्ठ 63ff) से आते हैं। वे लॉग रैंक के लिए w (t_j) = 1 को परिभाषित करते हैं, Wilcoxon के लिए w (t_j) = n_j, Tarone-Ware के लिए w, (t_j) = n ^ (1/2), w (t_j) = s (t_j) को पेटो के लिए परिभाषित करते हैं। और फ्लेमिंगटन-हैरिंगटन के लिए एक कठिन अभिव्यक्ति। मुझे नहीं पता कि भविष्य में मुझे कौन से वज़न की आवश्यकता होगी, लेकिन मैं यह सुनिश्चित करना चाहता हूं कि मैं उन्हें ज़रूरत पड़ने से पहले लागू कर पाऊं :) लेकिन मुझे लगता है कि आपका जवाब मुझे इस समस्या में मदद करेगा। धन्यवाद!
मार्सेल

6

आर में यह गणना करने के तरीके पर अपने प्रश्न का उत्तर देने के लिए, आप पैकेज 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
वर्तमान उत्तरजीविता संस्करण (0.5.4) में यह होना चाहिएcomp(ten(fit))
Marcin
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.