क्या विलकॉक्सन टेस्ट करने से पहले घबराना गलत है?


9

मैंने स्क्रिप्ट का उपयोग करके डेटा का परीक्षण करने के लिए लिखा था wilcox.test, लेकिन जब मुझे परिणाम मिले, सभी पी-मान जहां 1 के बराबर थे। मैंने कुछ वेबसाइटों में पढ़ा कि आप डेटा का परीक्षण करने से पहले घबराना का उपयोग कर सकते हैं (जैसा कि उन्होंने कहा, संबंधों से बचने के लिए) मैंने ऐसा किया और अब मेरे पास एक स्वीकार्य परिणाम है। क्या ऐसा करना गलत है?

test<- function(column,datacol){
    library(ggplot2)
t=read.table("data.txt", stringsAsFactors=FALSE)
uni=unique(c(t$V9))
    for (xp in uni) { 
          for(yp in uni) {
            testx <- subset(t, V9==xp)
            testy <- subset(t, V9==yp)
            zz <- wilcox.test(testx[[datacol]],jitter(testy[[datacol]]))
            p.value <- zz$p.value
          }
        }
}


इस का आउटपुट है dput(head(t))

structure(list(V1 = c(0.268912,
0.314681, 0.347078, 0.286945, 
0.39562, 0.282182), V2 = c(0.158921, 0.210526, 0.262024, 0.322006, 
0.133417, 0.283025), V3 = c(0.214082, 0.166895, 0.132547, 0.147361, 
0.09174, 0.169093), V4 = c(0.358085, 0.307898, 0.258352, 0.243688, 
0.379224, 0.2657), V5= c(-0.142223, 0.010895, 0.14655, 
0.08152, 0.02116, 0.030083), V6 = c(0.096408, -0.091896,

-0.331229, -0.446603, -0.088493, -0.262037), V7` = c(1.680946, 
1.649559, 1.534401, 1.130529, 3.441356, 1.211815), V8 = c("NC_000834",  "NC_000844",
"NC_000845", "NC_000846", "NC_000857",
"NC_000860" ), V9 = c("Chordata",
"Arthropoda", "Chordata", "Chordata", 
"Arthropoda", "Chordata"), V10 =
c("???:???", "Diplostraca", 
"???:???", "Rheiformes", "Diptera",
"Salmoniformes"), V11 = c("???:???",
"Branchiopoda", "Mammalia", "Aves",
"Insecta", "Actinopterygii" )), .Names
= c("V1", "V2", "V3", "V4", "V5", "V6",  "V7",
"V8", "V9", "V10",
"V11"), row.names = c(NA,  6L),
class = "data.frame")

डेटा बहुत बड़ा है, और यह वह धागा है जो मैंने शुरू किया था और उन्होंने मुझे बताया कि ऐसा करना गलत हो सकता है

नोट यह प्रश्न tex.SE से आता है: लेटेक्स टेबल के अंदर PDFcontain R आउटपुट जेनरेट करता है


2
आप हमें यह नहीं बताते हैं कि आपका डेटा क्या है, लेकिन मुझे किसी भी प्रक्रिया पर बहुत संदेह होगा जो डेटा में यादृच्छिक शोर जोड़ता है और फिर उस पर एक सांख्यिकीय परीक्षण चलाता है। इसके अलावा, क्या आप सुनिश्चित हैं कि आपका कोड वह करता है जो आपको लगता है कि वह करता है? मेरा पढ़ना यह है कि आपके पाश के बावजूद, यह एक एकल p.value लौटाएगा - जो कि x = y = {lastvaluof} (uni)
एंड्री

@Andrie: आपकी मदद के लिए धन्यवाद, लेकिन यह पूर्ण कोड नहीं है, यह फ़ंक्शन का एक हिस्सा है जो विल्कोक्स परीक्षण की गणना करता है, और प्रत्येक (xp, yp) के लिए पी-मान के विभिन्न मूल्यों का निर्माण करने वाला कोड, जो एक लिंक है मेरे डेटा का हिस्सा, आप इसे देख सकते हैं और जांच सकते हैं कि क्या मैं ऐसा कर सकता हूं, अग्रिम धन्यवाद। Mediafire.com/?mnj26kp4bv5lcr5

1
मुझे डेटा के लिंक पर बहुत संदेह होगा जो अन्य लिंक पर पुनर्निर्देशित करने की आवश्यकता है, खासकर जब आर बहुत उपयोगी dput()फ़ंक्शन प्रदान करता है जो ऐसा करने के लिए किसी भी आवश्यकता को समाप्त करता है। कृपया सहायता प्राप्त करने के लिए एक प्रतिलिपि प्रस्तुत करने योग्य उदाहरण प्रदान करें।
पीछा

क्रॉस पोस्ट किया गया: stackoverflow.com/questions/5554037/…
पीछा करें

@weblover जब मैंने आपके आँकड़ों पर सवाल पूछने के लिए (tex.SE पर) यहाँ सुझाव दिया, तो मुझे पता नहीं था कि आपने पहले ही SO पर पूछा था। कृपया, अपने दो पदों में से एक को हटा दें (शायद एसओ पर, क्योंकि यह एक सांख्यिकी प्रश्न है)।
CHL

जवाबों:


6

इस बारे में R- मदद सूची पर एक धागा है; उदाहरण के लिए देखें: http://tolstoy.newcastle.edu.au/R/e8/help/09/12/9/.html

पहला सुझाव यह है कि परीक्षण को अलग-अलग घबराने के साथ बड़ी संख्या में दोहराया जाए और फिर पी-वैल्यू को मिलाकर एक समग्र पी-मान प्राप्त किया जाए, या तो औसत या अधिकतम लेकर। वे यह भी सुझाव देते हैं कि एक सीधे क्रमपरिवर्तन परीक्षण का उपयोग किया जा सकता है (दोनों में से, यही वह है जो मैं पसंद करूंगा)। प्रश्न देखें टी-टेस्ट (युग्मित और गैर-युग्मित) के बजाय आर में कौन से क्रमपरिवर्तन परीक्षण कार्यान्वयन का उपयोग करें? क्रमपरिवर्तन परीक्षणों के कुछ उदाहरणों के लिए।

उस धागे में कहीं और, ग्रेग स्नो लिखते हैं: चेतावनी से बचने के लिए डेटा में यादृच्छिक शोर जोड़ना एक स्मोक डिटेक्टर से बैटरियों को हटाने के लिए इसे चुप करने के बजाय यह जांचने के बजाय कि अलार्म बंद हो रहा है। (देखें http://tolstoy.newcastle.edu.au/R/e8/help/09/12/9/155.html )


आपके उत्तर के लिए धन्यवाद, लेकिन मुझे वह बात नहीं मिली, अब मुझे क्या करना चाहिए? परीक्षण को बदलें, या कुछ के आधार पर डेटा को समायोजित करें, और यह कुछ क्या है ???
वेबलोवर

मैं उस पृष्ठ को संक्षेप में बताऊँगा जिससे मैं जुड़ा हुआ हूँ।
हारून ने

3

(अस्वीकरण: मैंने कोड की जांच नहीं की, मेरा जवाब सिर्फ आपके विवरण पर आधारित है)

मुझे लगता है कि आप जो करना चाहते हैं वह वास्तव में बुरा विचार है । विलकॉक्सन रैंकों के लिए एक रेज़ामलिंग (या रैंडमाइज़ेशन) टेस्ट है। यही है, यह मानों की रैंक लेता है और इन रैंकों की तुलना रैंकों के सभी संभावित क्रमपरिवर्तन से करता है (उदाहरण के लिए, यहां देखें )।

इसलिए, जैसा कि आपने महसूस किया, संबंध बहुत खराब हैं क्योंकि आपको उनमें से रैंक नहीं मिलती है। हालांकि, आपके डेटा में यादृच्छिक शोर (घबराना) जोड़ने से सभी रैंक बदल जाएंगे, ताकि उनके पास यादृच्छिक रैंक हो! यही है, यह आपके डेटा को गंभीर रूप से विकृत करता है।

इसलिए: ऐसा करना गलत है


आप जवाब देने के लिए thnx, लेकिन मुझे इस मामले में क्या करना चाहिए ??
वेबलोवर

2

आपने कई लोगों से पूछा है कि आपको अब क्या करना चाहिए। मेरे विचार में, अब आपको क्या करना चाहिए यह स्वीकार करना चाहिए कि यहाँ उचित पी-मूल्य १.००० है। आपके समूह अलग नहीं हैं।


हैलो, यह स्वीकार करने के लिए तर्कसंगत है ?? क्योंकि सभी समूह और उपसमूह जब एक साथ तुलना करते हैं, तो समान पी-मान देता है, यह तर्कसंगत नहीं है क्योंकि प्रत्येक मामले में मैं 1 चर का परीक्षण कर रहा हूं जैसे: परीक्षण ("पीएच", वी 1), सू-पी-मूल्य के लिए समान नहीं होना चाहिए सब । कोई विचार ??
weblover

यकीन है, यह तर्कसंगत हो सकता है। 1 के पी-मूल्य का अर्थ है कि दो समूह यथासंभव समान हैं। यदि आपको लगभग सभी संबंध मिल गए हैं, तो यह सच हो सकता है।
हारून ने

@Aaron @Web ये डेटा (V1 V7 के माध्यम से) बंधे नहीं हैं। पी-मान प्राप्त करने में कहीं न कहीं त्रुटि हुई होगी। मुझे विल्कोनॉन हस्ताक्षरित-रैंक परीक्षण के साथ तुलना करते हुए 0.036 के बहुत सारे पी-मान मिलते हैं।
whuber

ओपी ने केवल डेटा की पहली कुछ पंक्तियों को पोस्ट किया; जाहिरा तौर पर वहाँ पर संबंधों को और आगे बढ़ाया जाना चाहिए, हालांकि यह संभव नहीं लगता क्योंकि डेटा छह दशमलव स्थानों पर जाता है। तो हां, ऐसा लगता है कि विश्लेषण में एक त्रुटि हो सकती है, हालांकि आप जिस बिंदु को इंगित करते हैं, बिल्कुल नहीं।
हारून ने
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.