La función quantile() en R: cuartiles y percentiles
quantile() divide tus datos ordenados y te dice qué valor deja por debajo un porcentaje determinado. Sirve para cuartiles, percentiles, deciles… todo con la misma función.
Ejemplo simple
Sin argumentos extra, devuelve los cuartiles:
notas <- c(3, 4, 5, 5, 6, 6, 7, 7, 8, 9, 10)
quantile(notas)
Obtienes cinco valores: mínimo, 25 %, 50 %, 75 % y máximo. El del 50 % es la mediana.
Para pedir percentiles concretos, se los pasas como proporciones:
quantile(notas, probs = c(0.10, 0.90))
Para qué sirve de verdad
El uso más práctico es detectar valores extremos. El rango intercuartílico —la distancia entre el primer y el tercer cuartil— es la base del método estándar:
sueldos <- c(1300, 1350, 1400, 1450, 1500, 25000)
q1 <- quantile(sueldos, 0.25)
q3 <- quantile(sueldos, 0.75)
iqr <- IQR(sueldos)
sueldos[sueldos < q1 - 1.5 * iqr | sueldos > q3 + 1.5 * iqr]
IQR() es un atajo para q3 - q1. Lo explicamos en detalle en qué es un outlier.
Ejemplo algo más completo
Los cuantiles resisten los valores extremos mucho mejor que la media, y por eso describen bien los datos asimétricos:
mean(sueldos)
quantile(sueldos)
La media supera los 5.000 €; los cuartiles siguen contando la realidad del grupo.
Para varias columnas de golpe:
sapply(iris[, 1:4], quantile)
R tiene nueve métodos distintos para interpolar cuantiles cuando el valor cae entre dos datos. Usa el tipo 7 por defecto y se cambia con el argumento
type. Para trabajo normal no necesitas tocarlo, pero explica que a veces tus resultados no coincidan exactamente con los de Excel o SPSS.