quantileExactLow
quantileExact と同様に、数値データ列の正確な分位数を計算します。
正確な値を取得するために、渡されたすべての値は配列にまとめられ、その後完全にソートされます。ソートアルゴリズムの計算量は O(N·log(N)) であり、ここで N = std::distance(first, last) は比較回数を表します。
戻り値は分位レベルと選択された要素数に依存します。例えばレベルが 0.5 の場合、要素数が偶数なら下側の中央値を、奇数なら中央の中央値を返します。中央値は、Python で使用されている median_low 実装と同様の方法で計算されます。
その他のレベルについては、level * size_of_array の値に対応するインデックスの要素が返されます。例:
quantile* 関数を同じクエリ内で異なるレベルで複数使用する場合、内部状態はまとめて処理されません(そのため、クエリの効率は本来よりも低くなります)。このような場合は、quantiles 関数を使用してください。
構文
別名: medianExactLow.
引数
level— 分位数のレベル。省略可能なパラメーター。0 から 1 までの定数の浮動小数点数。levelの値には[0.01, 0.99]の範囲を使用することを推奨します。デフォルト値: 0.5。level=0.5の場合、この関数は中央値を計算します。expr— 数値データ型、Date もしくは DateTime を結果とする、カラム値に対する式。
返される値
- 指定されたレベルの分位数。
型:
例
クエリ:
結果: