Excel的TDIST函数的伪代码实现

我一直在做一些关于统计显着性的研究,而且我学到了很多东西,但在计算P值时似乎已经遇到了困难。

我觉得我大约有95%的路程, 只是我所读到的关于计算P值的所有内容都引用了一个表格,而不是提供一个程序化的解决scheme。

似乎Excel的TDIST函数做我想做的事(我已经有了T统计量,我可以把它作为自由度N和2传递给TDIST ,N是我的样本量)。 但我不清楚这个function如何工作。 从math上讲,我相信它是在超出规定值的正态分布曲线下find的区域; 但代码是什么样的?

任何清晰,可读的这种函数的实现都可以:C,Java,Python,伪代码等等。

如果你可以使用GNU代码,我build议使用GNU科学库(GSL)。

TDIST(x,df,tc)转换为

 return gsl_cdf_tdist_Q(x, df) * tc; 

请参阅手册的http://www.gnu.org/software/gsl/manual/html_node/The-t_002ddistribution.html

请参阅http://gsl.sourcearchive.com/documentation/1.9/cdf_2tdist_8c-source.html进行实施(它使用系列扩展)。

在学生文章上看到这个维基百科的累积分布函数的公式。

一个代码示例是在例如R的nmath库的src/nmath/pt.c文件中。