2014-11-06 71 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 
相关问题