ตำราเรียนของคุณสับสน คนน้อยมากหรือซอฟต์แวร์กำหนดควอไทล์ด้วยวิธีนี้ (มันมีแนวโน้มที่จะทำให้ควอไทล์แรกมีขนาดเล็กเกินไปและควอไทล์ที่สามมีขนาดใหญ่เกินไป)
quantile
ฟังก์ชั่นในR
การดำเนินเก้าวิธีต่างๆในการคำนวณ quantiles! หากต้องการดูว่ามีวิธีใดบ้างที่สอดคล้องกับวิธีนี้เรามาเริ่มต้นด้วยการนำไปใช้ จากคำอธิบายที่เราสามารถเขียนอัลกอริทึมแรกทางคณิตศาสตร์แล้วในR
:
สั่งซื้อข้อมูลx_nx1≤ x2≤ ⋯ ≤ xn
สำหรับชุดข้อมูลใด ๆ ค่ามัธยฐานคือค่ากลางเมื่อมีค่าจำนวนคี่ มิฉะนั้นจะเป็นค่าเฉลี่ยของค่ากลางสองค่าเมื่อมีค่าเป็นเลขคู่ R
ของmedian
ฟังก์ชั่นคำนวณนี้
ดัชนีของค่ากลางคือ 2 เมื่อไม่ใช่จำนวนเต็มคือค่ามัธยฐานโดยที่และเป็นปัดเศษลงและขึ้น มิฉะนั้นเมื่อเป็นจำนวนเต็มคือค่ามัธยฐาน ในกรณีที่ใช้เวลาและ 1 ไม่ว่าในกรณีใดคือดัชนีของค่าข้อมูลทางด้านซ้ายของค่ามัธยฐานและคือดัชนีของค่าข้อมูลทันทีทางด้านขวาของค่ามัธยฐาน( x l + x u ) / 2 l u m m x m l = m - 1 u = m + 1 l um = ( n + 1 ) / 2( xล.+ xยู) / 2ล.ยูม.ม.xม.l = m - 1u = m + 1ล.ยู
"การควอไทล์ครั้งแรก" เป็นค่าเฉลี่ยของทุกที่ลิตร "การที่สามควอไทล์" เป็นค่ามัธยฐานของที่ยู i ≤ l ( x i ) i ≥ uxผมฉัน≤ ลิตร( 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
การส่งออกทั้งสามขนาดตัวอย่าง (รูปแบบของความขัดแย้งยังคงดำเนินต่อไปในรอบระยะเวลาสามแสดงว่าปัญหายังคงมีอยู่ไม่ว่าตัวอย่างจะมีขนาดใหญ่เพียงใด)
หนังสือเรียนอาจมีวิธีการคำนวณที่ผิดพลาดของ John Tukey ในการคำนวณ "บานพับ" (aka "Fourths") ความแตกต่างคือเมื่อแบ่งชุดข้อมูลรอบมัธยฐานเขาจะรวมค่ามัธยฐานในครึ่งทั้งสอง นั่นจะสร้างและสำหรับชุดข้อมูลตัวอย่าง289.528
quantile
ประเภท 1, 2 และ 6 จะทำซ้ำสำหรับชุดข้อมูลที่มีขนาดเฉพาะนี้ ไม่มีของR
วิธีการที่สอดคล้องกับตำราเรียนของคุณ (หนึ่งสงสัยเกี่ยวกับคุณภาพของข้อความนี้ ... )