आर में लिवेने परीक्षण फ़ंक्शन का उपयोग कैसे करें?


14

मैं आंकड़ों और आर के लिए एक नौसिखिया हूं और मुझे लेवेने फ़ंक्शन का उपयोग करने में परेशानी है (मैं दो नमूनों के विचरण की समानता की जांच करना चाहता हूं)। दस्तावेज़ कहता है कि मुझे चलना चाहिए:

levene.test (y, समूह)

लेकिन मुझे नहीं पता कि मुझे y और समूह के रूप में क्या रखना चाहिए? मेरे पास दो अलग-अलग नमूने हैं, जिनमें से मैं भिन्नता की समानता की जांच करना चाहूंगा। क्या मुझे नमूने के मूल्यों में से एक को y और दूसरे को समूह पैरामीटर के रूप में रखना चाहिए?

कोई संकेत?

जवाबों:


17

मान लीजिए कि, R में, आपका 1 नमूना सदिश नाम sample1से संग्रहीत है और आपका दूसरा नमूना सदिश नाम से संगृहीत है sample2

आपको पहले अपने दो नमूनों को एक सदिश में संयोजित करना है और दो समूहों को परिभाषित करने वाला एक और सदिश बनाना है:

y <- c(sample1, sample2)

तथा

group <- as.factor(c(rep(1, length(sample1)), rep(2, length(sample2))))

अब, आप कॉल कर सकते हैं

library(car)
levene.test(y, group)

संपादित करें

आर में यह कोशिश करते समय, मुझे निम्नलिखित चेतावनी मिली:

'levene.test' has now been removed. Use 'leveneTest' instead...

इसके अनुसार, आपको leveneTestइसके बजाय एक नज़र रखना चाहिए ...


धन्यवाद! लेकिन क्या आप इतने दयालु होंगे और बताएंगे कि इसे इस तरह क्यों जाना चाहिए? मैं इसे समझना पसंद करूंगा ताकि अगली बार मुझे सवाल पूछने की जरूरत न पड़े और दूसरों की मदद कर सकूं।
याकूब १

@ याकूब: ठीक है, यह इस तरह से जाता है क्योंकि इसे उस संरचना का उपयोग करके लागू किया गया था। सहायता बताती है कि पहले तर्क को प्रतिक्रिया चर होना चाहिए जबकि दूसरे तर्क को समूह चर होना चाहिए।
ओकराम सेप 18'11

कई मामलों में आर इस प्रकार के डेटा प्रारूप को पसंद करते हैं, जिन्हें अक्सर "लंबे" के रूप में संदर्भित किया जाता है। रिशेप पैकेज, मेल्ट और कास्ट नामक फ़ंक्शंस प्रदान करता है, जिनका उपयोग आपके डेटा को फिर से व्यवस्थित करने के लिए किया जा सकता है, लेकिन वे एक साधारण दो चर मामले के लिए आपकी आवश्यकता से अधिक जटिल हैं।
रुसैलपिएरेसे

बस पुष्टि करने के लिए, यह नमूना 1 और नमूना 2 की आवृत्ति स्पेक्ट्रा का परीक्षण नहीं करेगा, सही? उदाहरण के लिए, उदाहरण के लिए, नमूना 1 है: 1,0,2,1,0 और नमूना 2 है: 1,1,3,0,0। यह नमूना 1 के वितरण को बनाने के लिए नमूना 1 के 1s और 0s को सही नहीं करेगा? मुझे आशा है कि मेरे अनुवर्ती सवाल समझ में आता है?
Atticus29

14

Ocram के जवाब में सभी महत्वपूर्ण टुकड़े हैं। हालाँकि, यदि आप नहीं करना चाहते हैं तो आपको सभी Rcmdr को लोड करने की आवश्यकता नहीं है। संबंधित पुस्तकालय "कार" है। लेकिन जैसा कि ओश्राम इंगित करता है, levene.test को पदावनत किया जाता है। ध्यान दें कि वंचन कार्यक्षमता या कोड का परिवर्तन नहीं है (इस बिंदु पर, 09/18/2011)। यह केवल फ़ंक्शन नाम में परिवर्तन है। तो levene.test और leveneTest एक ही काम करेंगे। मैंने सोचा था कि रिकॉर्ड के लिए मैं इस सरल मामले के लिए leveneTest और पुन: प्रयोज्य पुनर्जीवन कोड का उपयोग करके एक उदाहरण प्रदान करूंगा:

#Creating example code
sample1 <- rnorm(20)
sample2 <- rnorm(20)

#General code to reshape two vectors into a long data.frame
twoVarWideToLong <- function(sample1,sample2) {
    res <- data.frame(
        GroupID=as.factor(c(rep(1, length(sample1)), rep(2, length(sample2)))),
        DV=c(sample1, sample2)
    )   
}   

#Reshaping the example data
long.data <- twoVarWideToLong(sample1,sample2)

#There are many different calls here that will work... but here is an example
leveneTest(DV~GroupID,long.data)

4

Reshape2 पैकेज का उपयोग कर डेटा तैयार करने का सबसे आसान तरीका (मेरी राय में):

#Load packages
library(reshape2)
library(car)

#Creating example data
sample1 <- rnorm(20)
sample2 <- rnorm(20)

#Combine data
sample <- as.data.frame(cbind(sample1, sample2))

#Melt data
dataset <- melt(sample)

#Compute test
leveneTest(value ~ variable, dataset)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.