quantileExactExclusive
quantileExactExclusive
引入版本:v20.1
与 quantileExact 类似,该函数计算数值数据序列的精确分位数。
该函数等价于 quantileExact,但使用“排他式”方法计算分位数,即 R-6 方法中所描述的方式。
使用该函数时,分位数的计算方式是:给定分位点 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) 次比较。
在一个查询中同时使用多个具有不同 level 的 quantile* 函数时,其内部状态不会被合并(也就是说,该查询的执行效率低于其潜在效率)。
在这种情况下,请使用 quantiles 函数。
语法
参数
level— 分位数的 level(分位水平)。取值为 0 到 1 之间的常量浮点数(不包含 0 和 1)。我们建议使用范围在(0.01, 0.99)的level值。Float*
参数说明
返回值
返回指定 level 的分位数值。Float64
示例
计算精确的排他型分位数
计算多个分位点