Javascript中的标准偏差,用于MS Excel API

我是新来的Javascript和我正在为一些简单的统计函数在Excel API工作,但我坚持如何写一个标准偏差方法,任何人都可以帮助摆脱一些光? 这是我到目前为止:

function writedata(data) { Office.context.document.setSelectedDataAsync(data, function (asyncResult) { if (asyncResult.status === "failed") { writeToPage('Error: ' + asyncResult.error.message); } }); } function sumdata(begin, end) { var command ="=sum(" + begin + ":" + end + ")"; Office.context.document.setSelectedDataAsync(command, function (asyncResult) { if (asyncResult.status === "failed") { writeToPage('Error: ' + asyncResult.error.message); } }); } function meanvalue(begin, end) { var tot = "=total(" + begin + ":" + end + ")"; var cnt = tot.valueOf.length; var average = tot / cnt; Office.context.document.setSelectedDataAsync(average, function (asyncResult) { if (asyncResult.status === "failed") { writeToPage('Error: ' + asyncResult.error.message); } }); } 

要返回数组的标准偏差,首先需要计算平均值,然后对每个平均值的差值应用标准偏差公式。

 Math.mean= function(array){ return array.reduce(function(a, b){ return a+b; })/array.length; } Math.stDeviation=function(array){ var mean= Math.mean(array), dev= array.map(function(itm){return (itm-mean)*(itm-mean); }); return Math.sqrt(dev.reduce(function(a, b){ return a+b; })/array.length); } // Example: var A2= [6.2, 5, 4.5, 6, 6, 6.9, 6.4, 7.5]; Math.stDeviation(A2); /*value=> 0.899913190257816;*/ Math.mean(A2)/* value=> 6.0625 */