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.