2014-11-06 109 views
1

我需要一個javascript函數來匹配Excel STDEV函數中使用的數學運算。Javascript等價於MS Excel Standard Deviation(STDEV)

當我使用數組[1,2,4,6]時,我發現每個js腳本的標準偏差爲1.9202。但是,當我通過Excel的STDEV運行相同的數組時,我得到了2.2173。

我不是數學家,但我想把一些excel報告轉換成javascript。我最終尋找的是一個JavaScript函數來完成excel的功能。

此外,我已經看過其他人有類似的問題,他們花了一段時間解釋差異,但沒有提供代碼示例,或直接的數學公式,我可以轉換爲JS。任何幫助表示讚賞,JavaScript功能將是最有幫助的。

謝謝。

回答

4

你在比較蘋果和橘子。

Excel中的等價公式是STDEVP(即人口標準偏差)。這將匹配Javascript結果。

人口標準偏差具有sqrt(n)作爲分母而無偏標準偏差(STDEV)具有sqrt(n - 1)n是組成標準差的術語數。

要通過sqrt(n/(n - 1))從一個轉換到另一個,乘法/除法:

1.9202 * sqrt(4/3) = 2.2173

0

這可能是爲那些誰想要使用的庫有益的 -

MathJs

math.std(2, 4, 6);      // returns 2 
math.std([2, 4, 6, 8]);    // returns 2.581988897471611 
math.std([2, 4, 6, 8], 'uncorrected'); // returns 2.23606797749979 
math.std([2, 4, 6, 8], 'biased');  // returns 2 
相關問題