寻求统计javascript函数以从z分数返回p值

bur*_*erB 9 javascript jstat

我需要将z分数转换为百分位数.我找到了我可以使用的jStat库中的函数的引用(jstat.ztest),但是jStat文档似乎领先于可用库,因为在当前可用的库版本中没有这样的函数.

我认为在GitHub上有一个更新版本的库,可能包括ztest函数,但我是一个linux新手,无法弄清楚如何从指令构建库.我花了大约一天时间学习git bash和cygwin试图构建库; 我终于决定在这里问我会更好.

那么,有人能指向我的javascript函数,它会做我需要的吗?或者,是否有人可以指向包含ztest功能的jStat库的内置版本?

bur*_*erB 17

我在网上找到了这个论坛,它就像一个魅力.

function GetZPercent(z) 
  {
    //z == number of standard deviations from the mean

    //if z is greater than 6.5 standard deviations from the mean
    //the number of significant digits will be outside of a reasonable 
    //range
    if ( z < -6.5)
      return 0.0;
    if( z > 6.5) 
      return 1.0;

    var factK = 1;
    var sum = 0;
    var term = 1;
    var k = 0;
    var loopStop = Math.exp(-23);
    while(Math.abs(term) > loopStop) 
    {
      term = .3989422804 * Math.pow(-1,k) * Math.pow(z,k) / (2 * k + 1) / Math.pow(2,k) * Math.pow(z,k+1) / factK;
      sum += term;
      k++;
      factK *= k;

    }
    sum += 0.5;

    return sum;
  }
Run Code Online (Sandbox Code Playgroud)

而且我不需要为一个函数包含一个大型库.

  • 为了澄清,因为这没有提供任何解释/引用:这是基于正态标准分布积分的泰勒展开:http://math2.org/math/stat/distributions/z-dist.htm - `term = ` 行上的运算符优先级使这很难阅读。 (4认同)