メインコンテンツまでスキップ
メインコンテンツまでスキップ

quantileExact 関数

quantileExact

数値データシーケンスの分位数を正確に計算します。

正確な値を取得するために、渡されたすべての値が配列にまとめられ、その後部分的にソートされます。したがって、この関数は O(n) メモリを消費します。ここで、n は渡された値の数です。ただし、少数の値の場合、この関数は非常に効果的です。

異なるレベルの複数の quantile* 関数をクエリで使用する場合、内部状態は統合されません(つまり、クエリは効率的に動作しません)。この場合は、quantiles 関数を使用してください。

構文

別名: medianExact.

引数

  • level — 分位数のレベル。オプションのパラメータ。0から1の定数浮動小数点数。level の値は [0.01, 0.99] の範囲を使用することをお勧めします。デフォルト値: 0.5。level=0.5 の場合、この関数は中央値を計算します。
  • expr — 数値データ型Date または DateTimeを 結果として得るカラム値に対する式。

戻り値

  • 指定されたレベルの分位数。

タイプ:

  • 数値データ型に対して、出力フォーマットは入力フォーマットと同じになります。例えば:
  • 入力値が Date 型の場合はDate
  • 入力値が DateTime 型の場合はDateTime

クエリ:

結果:

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に対する式。

戻り値

  • 指定されたレベルの分位数。

タイプ:

  • 数値データ型入力の場合はFloat64
  • 入力値が Date 型の場合はDate
  • 入力値が DateTime 型の場合はDateTime

クエリ:

結果:

quantileExactHigh

quantileExact に似ており、数値データシーケンスの正確な分位数を計算します。

正確な値を得るために、渡されたすべての値が配列にまとめられ、その後完全にソートされます。ソートアルゴリズムの複雑さは O(N·log(N)) で、ここで N = std::distance(first, last) です。

戻り値は分位数のレベルと選択された要素の数に依存します。つまり、レベルが 0.5 の場合、偶数個の要素に対しては上位中央値の値を返し、奇数個の要素に対しては中央の中央値の値を返します。中央値は、Python で使用されるmedian_high の実装と同様に計算されます。他のすべてのレベルの場合、level * size_of_array の値に対応するインデックスの要素が返されます。

この実装は、現在の quantileExact 実装と全く同じように動作します。

異なるレベルの複数の quantile* 関数をクエリで使用する場合、内部状態は統合されません(つまり、クエリは効率的に動作しません)。この場合は、quantiles 関数を使用してください。

構文

別名: medianExactHigh.

引数

  • level — 分位数のレベル。オプションのパラメータ。0から1の定数浮動小数点数。level の値は [0.01, 0.99] の範囲を使用することをお勧めします。デフォルト値: 0.5。level=0.5 の場合、この関数は中央値を計算します。
  • expr — 数値データ型Date または DateTimeに対する式。

戻り値

  • 指定されたレベルの分位数。

タイプ:

  • 数値データ型入力の場合はFloat64
  • 入力値が Date 型の場合はDate
  • 入力値が DateTime 型の場合はDateTime

クエリ:

結果:

quantileExactExclusive

数値データシーケンスの分位数を正確に計算します。

正確な値を取得するために、渡されたすべての値が配列にまとめられ、その後部分的にソートされます。したがって、この関数は O(n) メモリを消費します。ここで、n は渡された値の数です。ただし、少数の値の場合、この関数は非常に効果的です。

この関数は、Excel の PERCENTILE.EXC 関数に相当します(type R6)。

異なるレベルの複数の quantileExactExclusive 関数をクエリで使用する場合、内部状態は統合されません(つまり、クエリは効率的に動作しません)。この場合は、quantilesExactExclusive 関数を使用してください。

構文

引数

パラメータ

  • level — 分位数のレベル。オプション。可能な値: (0, 1) — 境界を含まない。デフォルト値: 0.5。level=0.5 の場合、この関数は中央値を計算します。Float

戻り値

  • 指定されたレベルの分位数。

タイプ:

  • 数値データ型入力の場合はFloat64
  • 入力値が Date 型の場合はDate
  • 入力値が DateTime 型の場合はDateTime

クエリ:

結果:

quantileExactInclusive

数値データシーケンスの分位数を正確に計算します。

正確な値を取得するために、渡されたすべての値が配列にまとめられ、その後部分的にソートされます。したがって、この関数は O(n) メモリを消費します。ここで、n は渡された値の数です。ただし、少数の値の場合、この関数は非常に効果的です。

この関数は、Excel の PERCENTILE.INC 関数に相当します(type R7)。

異なるレベルの複数の quantileExactInclusive 関数をクエリで使用する場合、内部状態は統合されません(つまり、クエリは効率的に動作しません)。この場合は、quantilesExactInclusive 関数を使用してください。

構文

引数

パラメータ

  • level — 分位数のレベル。オプション。可能な値: [0, 1] — 境界を含む。デフォルト値: 0.5。level=0.5 の場合、この関数は中央値を計算します。Float

戻り値

  • 指定されたレベルの分位数。

タイプ:

  • 数値データ型入力の場合はFloat64
  • 入力値が Date 型の場合はDate
  • 入力値が DateTime 型の場合はDateTime

クエリ:

結果:

参考