JavaScript計算標准差


有的時候為了考慮執行效率等,我們把數據處理會放在前端js中,而不選擇在SQL中執行。首先什么是標准差?干嘛的?

 

那如何在JS中求標准差呢?

var baseData=[0,1,2,3,4];

var avg = function (arr) { //計算平均值 函數
var len = arr.length;
var sum = 0;
for(var i = 0; i < len ; i++){
sum += arr[i]*1;
}

return sum/len;
}

var sampleAvg1 =avg(baseData).toFixed(2);

var length = baseData.length;
var temp = new Array(length); //定義一個臨時空數組,用來存儲每個數組元素與平均值的差的平方。

for (var i = 0; i < length; i++) {
var dev = parseFloat(baseData[i]) - sampleAvg1 ; //計算數組元素與平均值的差
temp[i] = Math.pow(dev, 2); //計算差的平方
}
var powSum = 0; //用來存儲差的平方總和

for (var j = 0; j < temp.length; j++) {
if (temp[j].toString() != "" || temp[j].toString() != null) {
powSum = parseFloat(powSum) + parseFloat(temp[j].toString()); //計算差的平方總和
}
}
var stddev = Math.sqrt(parseFloat(powSum) / parseFloat(length)).toFixed(2); //用差的平方總和除以數組長度即可得到標准差

alert(stddev);

結果如下:

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM