quantileExactExclusive
quantileExactExclusive
導入バージョン: v20.1
quantileExact と同様に、数値データ列の厳密な 分位数 を計算します。
この関数は quantileExact と等価ですが、R-6 method で説明されているように、分位数を計算するために「排他的」方式を使用します。
この関数を使用する場合、分位数は、与えられた分位数 p に対する補間式が x[floor(n*p)] + (n*p - floor(n*p)) * (x[floor(n*p)+1] - x[floor(n*p)]) の形になるように計算されます。ここで x はソート済み配列です。
厳密な値を取得するために、渡されたすべての値は配列にまとめられ、その配列が完全にソートされます。
ソートアルゴリズムの計算量は O(N·log(N)) であり、ここで N = std::distance(first, last) 回の比較が行われます。
クエリ内で異なるレベルを持つ複数の quantile* 関数を使用する場合、内部状態は結合されません(つまり、クエリは本来よりも非効率に動作します)。
このような場合は、quantiles 関数を使用してください。
構文
パラメータ
level— 分位数のレベル。0 以上 1 未満の定数の浮動小数点数。levelの値には(0.01, 0.99)の範囲を使用することを推奨します。Float*
引数
expr— カラム値に適用され、その結果が数値データ型、Date または DateTime となる式。(U)Int*またはFloat*またはDecimal*またはDateまたはDateTime
戻り値
指定されたレベルの分位数を返します。Float64
例
厳密な排他的分位数の算出
複数の分位点の計算