quantileExactHigh
quantileExactHigh
導入バージョン: v20.8
quantileExact と同様に、数値データ列の正確な分位数を計算します。
正確な値を取得するために、渡されたすべての値を配列にまとめ、その配列を完全にソートします。
ソートアルゴリズムの計算量は O(N·log(N)) であり、ここで N = std::distance(first, last) 回の比較が行われます。
戻り値は分位数レベルと選択内の要素数に依存します。例えばレベルが 0.5 の場合、要素数が偶数であれば大きい方の中央値を、奇数であれば中央の値を返します。
中央値は、Python で使用されている median_high 実装と同様の方法で計算されます。
それ以外のレベルでは、level * size_of_array の値に対応するインデックス位置の要素が返されます。
1 つのクエリ内で異なるレベルの複数の quantile* 関数を使用する場合、内部状態は結合されません(つまり、そのクエリは本来可能なほど効率的には動作しません)。
このような場合は、quantiles 関数を使用してください。
構文
別名: medianExactHigh
パラメータ
level— 省略可能。分位数のレベル。0 から 1 までの定数の浮動小数点数値。levelの値には[0.01, 0.99]の範囲を使用することを推奨します。デフォルト値: 0.5。level=0.5の場合、この関数は中央値を計算します。Float*
引数
expr— 数値データ型、Date、または DateTime を結果とするカラム値に対する式。(U)Int*またはFloat*またはDecimal*またはDateまたはDateTime
戻り値
指定したレベルの分位数を返します。Float64 または Date または DateTime
例
exact high 分位数の計算
特定の分位の算出