आपकी पाठ्यपुस्तक भ्रमित है। बहुत कम लोग या सॉफ्टवेयर इस तरह से चौकड़ी को परिभाषित करते हैं। (यह पहली चतुर्थक को बहुत छोटा और तीसरे चतुर्थक को बहुत बड़ा बनाता है।)
quantile
में समारोह R
लागू करता नौ गणना quantiles को अलग अलग तरीकों से! यह देखने के लिए कि उनमें से कौन सा, यदि कोई हो, इस पद्धति के अनुरूप है, तो आइए इसे लागू करके शुरू करें। वर्णन से हम एक एल्गोरिथ्म लिख सकते हैं, पहले गणितीय और फिर इसमें R
:
एक्स1≤ x2≤ ⋯ ≤ एक्सn
डेटा के किसी भी सेट के लिए औसत मूल्य की विषम संख्या होने पर माध्यिका इसका मध्य मूल्य है; अन्यथा यह दो मध्य मानों का औसत है जब समान मान होते हैं। R
के median
समारोह इस गणना करता है।
m = ( n + 1 ) / 2( x)एल+ xयू) / २एलयूमीटरमीटरएक्समीटरएल = एम - १यू = एम + १एलयू
एक्समैंमैं ≤ एल( x)मैं)मैं ≥ यू
यहाँ एक कार्यान्वयन है। इस पाठ्यपुस्तक में आपको अपने अभ्यास करने में मदद मिल सकती है।
quart <- function(x) {
x <- sort(x)
n <- length(x)
m <- (n+1)/2
if (floor(m) != m) {
l <- m-1/2; u <- m+1/2
} else {
l <- m-1; u <- m+1
}
c(Q1=median(x[1:l]), Q3=median(x[u:n]))
}
उदाहरण के लिए, quart(c(6,7,8,9,10,15,16,16,20,20,23,33,50,58,104))
पाठ से सहमत हैं:
Q1 Q3
9 33
चलो सभी दस विधियों का उपयोग करते हुए कुछ छोटे डेटासेट के लिए चतुर्थक की गणना करें: नौ में R
और पाठ्यपुस्तक की:
y <- matrix(NA, 2, 10)
rownames(y) <- c("Q1", "Q3")
colnames(y) <- c(1:9, "Quart")
for (n in 3:5) {
j <- 1
for (i in 1:9) {
y[, i] <- quantile(1:n, probs=c(1/4, 3/4), type=i)
}
y[, 10] <- quart(1:n)
cat("\n", n, ":\n")
print(y, digits=2)
}
जब आप इसे चलाते हैं और जांचते हैं, तो आप पाएंगे कि पाठ्यपुस्तक के मान सभी तीन नमूना आकारों के किसी भीR
आउटपुट से सहमत नहीं हैं । (असहमति का पैटर्न तीन की अवधि के चक्र में जारी है, यह दर्शाता है कि यह समस्या बनी रहती है कि नमूना कितना भी बड़ा क्यों न हो।)
9.528
quantile
टाइप 1, 2, और 6 उन्हें इस विशेष आकार के डेटासेट के लिए पुन: पेश करेगी । कोई नहीं केR
तरीकों अपने पाठ्यपुस्तक से मेल खाती है। (इस पाठ की गुणवत्ता के बारे में एक चमत्कार ...)