首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Math.js计算上部围栏

使用Math.js计算上部围栏
EN

Stack Overflow用户
提问于 2016-09-22 00:02:28
回答 1查看 793关注 0票数 0

我有一个数组中的数字列表,我想计算上面的栅栏。

我知道我必须计算中位数,这可以使用math.js库来完成。

代码语言:javascript
复制
var median = math.median(numList);

然后第三个四分位数是中位数的上半部分。我想我必须先排序,我相信这可以通过,

代码语言:javascript
复制
numList.sort(function(a,b){return a - b});

但我不确定如何从这里开始计算第三个四分位数和四分位数之间的范围,以获得上部围栏。

任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

发布于 2016-10-13 00:57:16

你可以继续使用median,让Math.js为你做排序。

代码语言:javascript
复制
function quartileBounds(_sample){
    // find the median as you did
    var _median = math.median(_sample)

    // split the data by the median
    var _firstHalf = _sample.filter(function(f){ return f < _median })
    var _secondHalf = _sample.filter(function(f){ return f >= _median })

    // find the medians for each split
    var _25percent = math.median(_firstHalf);
    var _75percent = math.median(_secondHalf);

    var _50percent = _median;
    var _100percent = math.max(_secondHalf);

    // this will be the upper bounds for each quartile
    return [_25percent, _50percent, _75percent, _100percent];
}

quartileBounds([7,18,33,32,10,30,77,40,135,30,121,36,26,28,60,80,17,288,114]);
// returns [26,33,78.5,288]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39621431

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档