quantileExactInclusive
quantileExactInclusive
引入版本:v20.1
与 quantileExact 类似,它计算数值数据序列的精确分位数。
此函数等价于 quantileExact,但使用包含式方法来计算分位数,具体如 R-7 方法所述。
使用此函数时,分位数的计算方式使得给定分位数 p 的插值公式为:x[floor((n-1)*p)] + ((n-1)*p - floor((n-1)*p)) * (x[floor((n-1)*p)+1] - x[floor((n-1)*p)]),其中 x 是已排序数组。
为了获得精确值,所有传入的值会被合并为一个数组,然后对该数组进行完整排序。
排序算法的复杂度为 O(N·log(N)),其中 N = std::distance(first, last) 次比较。
在一个查询中使用多个具有不同 level 的 quantile* 函数时,其内部状态不会被合并(也就是说,该查询的执行效率低于理论最优)。
在这种情况下,请使用 quantiles 函数。
语法
参数
level— 分位数的级别。取值为 0 到 1(含)的常量浮点数。建议将level设置在[0.01, 0.99]范围内。Float*
参数列表
返回值
返回指定级别的分位数值。Float64
示例
计算精确的端点包含型分位数
计算多个分位点