Votre manuel est confus. Très peu de personnes ou de logiciels définissent les quartiles de cette manière. (Cela a tendance à rendre le premier quartile trop petit et le troisième quartile trop grand.)
La quantile
fonction R
implémente neuf façons différentes de calculer les quantiles! Pour voir laquelle d’entre elles, le cas échéant, correspond à cette méthode, commençons par l’implémenter. À partir de la description, nous pouvons écrire un algorithme, d'abord mathématiquement, puis dans R
:
x1≤x2≤⋯≤xn
Pour tout ensemble de données, la médiane est sa valeur moyenne lorsqu'il existe un nombre impair de valeurs; sinon, il s'agit de la moyenne des deux valeurs centrales lorsqu'il existe un nombre pair de valeurs. R
La median
fonction de calcule ceci.
m=(n+1)/2(xl+xu)/2lummxml=m−1u=m+1lu
xii≤l(xi)i≥u
Voici une implémentation. Cela peut vous aider à faire vos exercices dans ce manuel.
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]))
}
Par exemple, la sortie de quart(c(6,7,8,9,10,15,16,16,20,20,23,33,50,58,104))
correspond au texte:
Q1 Q3
9 33
Calculons les quartiles de petits ensembles de données en utilisant les dix méthodes: le neuf R
et le manuel:
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)
}
Lorsque vous exécutez ceci et vérifiez, vous constaterez que les valeurs de manuel ne sont pas en accord avec aucun des R
résultats pour les trois tailles d'échantillon. (La tendance des désaccords se poursuit au cours des cycles de la période trois, montrant que le problème persiste, quelle que soit la taille de l'échantillon.)
9.528
quantile
types 1, 2 et 6 les reproduiront pour un jeu de données de cette taille . Aucune desR
méthodes ne correspond à votre manuel. (On s'interroge sur la qualité de ce texte ...)