Seu livro está confuso. Muito poucas pessoas ou software definem quartis dessa maneira. (Isso tende a tornar o primeiro quartil muito pequeno e o terceiro quartil muito grande.)
A quantile
função R
implementa nove maneiras diferentes de calcular quantis! Para ver quais deles, se houver, correspondem a esse método, vamos começar implementando-o. A partir da descrição, podemos escrever um algoritmo, primeiro matematicamente e depois em R
:
Ordenar os dados x1≤ x2≤ ⋯ ≤ xn
Para qualquer conjunto de dados, a mediana é seu valor intermediário quando há um número ímpar de valores; caso contrário, é a média dos dois valores médios quando há um número par de valores. R
A median
função de calcula isso.
m = ( n + 1 ) / 2( xeu+ xvocê) / 2euvocêmmxml = m - 1u = m + 1euvocê
xEui ≤ l( xEu)i ≥ u
Aqui está uma implementação. Pode ajudá-lo a fazer seus exercícios neste livro.
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]))
}
Por exemplo, a saída de quart(c(6,7,8,9,10,15,16,16,20,20,23,33,50,58,104))
concorda com o texto:
Q1 Q3
9 33
Vamos calcular quartis para alguns pequenos conjuntos de dados usando todos os dez métodos: os nove R
e os do livro:
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 você executa isso e verifica, verá que os valores dos livros didáticos não concordam com nenhuma das R
saídas dos três tamanhos de amostra. (O padrão de desacordos continua nos ciclos do período três, mostrando que o problema persiste, não importa o tamanho da amostra.)
9,528. para o conjunto de dados de exemplo.
quantile
tipos 1, 2 e 6 os reproduzirão para um conjunto de dados desse tamanho específico . Nenhum dosR
métodos corresponde ao seu livro. (Alguém se pergunta sobre a qualidade deste texto ...)