2016-09-21 3 views
0

Ich habe eine Liste von Zahlen in einem Array, und ich möchte den oberen Zaun berechnen.Berechnen oberen Zaun mit Math.js

Ich weiß, ich muss den Median berechnen, das kann mit der math.js-Bibliothek getan werden.

var median = math.median(numList); 

Und dann ist das dritte Quartil die obere Hälfte des Medians. Ich würde denken, würde ich zuerst sortieren muß, glaube ich, dies getan werden kann,

numList.sort(function(a,b){return a - b}); 

Aber ich bin nicht sicher, wie hier auf der Berechnung den 3. Quartil und Quartilabstand fahren Sie mit dem Ober Zaun zu erhalten.

Jede Hilfe wird sehr geschätzt.

Antwort

0

Sie könnten einfach weiterhin Median verwenden und lassen Sie Math.js die Sortierung für Sie tun.

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] 
Verwandte Themen