Ders kitabın karıştı. Çok az insan veya yazılım çeyrekleri bu şekilde tanımlamaktadır. (İlk çeyreği çok küçük ve üçüncü çeyreği çok büyük yapma eğilimindedir.)
quantile
İşlev R
uygular dokuz hesaplama quantiles farklı yolları! Bunlardan hangisinin, eğer varsa, bu yönteme karşılık geldiğini görmek için, uygulamaya başlayalım. Tanımdan önce bir matematik algoritmasını yazabiliriz, önce matematiksel olarak, sonra R
:
x1≤ x2≤ ⋯ ≤ xn
Herhangi bir veri kümesi için, tek sayıda değer olduğunda medyan orta değeridir; Aksi halde, eşit sayıda değer olduğunda iki orta değerin ortalamasıdır. R
'nin median
işlevi bunu hesaplar.
m = ( n + 1 ) / 2( xl+ xu) / 2lummxml = m - 1u = m + 1lu
xbeni ≤ l( xben)i ≥ u
İşte bir uygulama. Alıştırmalarınızı bu ders kitabında yapmanıza yardımcı olabilir.
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]))
}
Örneğin, çıktı quart(c(6,7,8,9,10,15,16,16,20,20,23,33,50,58,104))
metni ile aynı fikirdedir:
Q1 Q3
9 33
Hadi on metodun hepsini kullanarak bazı küçük veri kümeleri için çeyrek değerler hesaplayalım: Dokuz giriş R
ve ders kitabı:
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)
}
Bunu çalıştırdığınızda ve kontrol ettiğinizde , ders kitabı değerlerinin üç örneklemin tamamı için çıktıların hiçbiriyle aynı fikirde olmadığınıR
göreceksiniz . (Uyuşmazlık paterni, 3. periyotta devam eder, bu da örneğin ne kadar büyük olursa olsun sorunun devam ettiğini gösterir.)
9.528
quantile
1, 2 ve 6 türleri bu boyuttaki bir veri kümesi için onları çoğaltacaktır . Yok aitR
metotlarla ders kitaplarında karşılık gelir. (Bir kişi bu metnin kalitesi hakkında merak ediyor ...)