Saltar al contenido principal

quantileExactExclusive

Introducido en: v20.1.0 Similar a quantileExact, esta función calcula el cuantil exacto de una secuencia de datos numéricos. Esta función es equivalente a quantileExact, pero utiliza el método exclusivo para calcular cuantiles, tal como se describe en el método R-6. Al usar esta función, el cuantil se calcula de forma que la fórmula de interpolación para un cuantil p dado tiene la forma: x[floor(n*p)] + (n*p - floor(n*p)) * (x[floor(n*p)+1] - x[floor(n*p)]), donde x es el array ordenado. Para obtener el valor exacto, todos los valores proporcionados se combinan en un array, que luego se ordena por completo. La complejidad del algoritmo de ordenación es O(N·log(N)), donde N = std::distance(first, last) comparaciones. Al usar varias funciones quantile* con distintos niveles en una consulta, los estados internos no se combinan (es decir, la consulta funciona con menos eficiencia de la que podría). En este caso, utilice la función quantiles. Sintaxis
quantileExactExclusive(level)(expr)
Parámetros
  • level — Nivel del cuantil. Número constante de coma flotante entre 0 y 1 (sin incluirlos). Recomendamos usar un valor de level en el intervalo (0.01, 0.99). Float*
Argumentos Valor devuelto Devuelve el cuantil del nivel especificado. Float64 Ejemplos Cálculo del cuantil exacto exclusivo
Query
SELECT quantileExactExclusive(0.25)(number) FROM numbers(5);
Response
┌─quantileExactExclusive(0.25)(number)─┐
│                                  0.5 │
└──────────────────────────────────────┘
Cálculo de varios niveles de cuantil
Query
SELECT quantileExactExclusive(0.1)(number), quantileExactExclusive(0.9)(number) FROM numbers(10);
Response
┌─quantileExactExclusive(0.1)(number)─┬─quantileExactExclusive(0.9)(number)─┐
│                                 0.4 │                                 8.6 │
└─────────────────────────────────────┴─────────────────────────────────────┘
Última modificación el 10 de junio de 2026