Il tuo libro di testo è confuso. Pochissime persone o software definiscono i quartili in questo modo. (Tende a rendere il primo quartile troppo piccolo e il terzo quartile troppo grande.)
La quantile
funzione R
implementa nove modi diversi per calcolare i quantili! Per vedere quale di essi, se presente, corrisponde a questo metodo, iniziamo implementandolo. Dalla descrizione possiamo scrivere un algoritmo, prima matematicamente e poi in R
:
x1≤x2≤⋯≤xn
Per ogni set di dati la mediana è il suo valore medio quando c'è un numero dispari di valori; altrimenti è la media dei due valori medi quando c'è un numero pari di valori. R
La median
funzione calcola questo.
m=(n+1)/2(xl+xu)/2lummXml = m - 1u = m + 1lu
Xioi ≤ l( xio)i ≥ u
Ecco un'implementazione. Può aiutarti a fare i tuoi esercizi in questo manuale.
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]))
}
Ad esempio, l'output di è d' quart(c(6,7,8,9,10,15,16,16,20,20,23,33,50,58,104))
accordo con il testo:
Q1 Q3
9 33
Calcoliamo i quartili per alcuni piccoli set di dati usando tutti e dieci i metodi: i nove in R
e i libri di testo:
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)
}
Quando lo esegui e controlli, scoprirai che i valori del libro di testo non coincidono con nessuno degli R
output per tutte e tre le dimensioni del campione. (Il modello delle divergenze continua nei cicli del terzo periodo, dimostrando che il problema persiste, indipendentemente dalla dimensione del campione.)
9.528
quantile
tipi 1, 2 e 6 li riprodurranno per un set di dati di queste dimensioni particolari . Nessuno deiR
metodi corrisponde al tuo libro di testo. (Uno si domanda sulla qualità di questo testo ...)