Excel的TDIST函数的伪代码实现

时间:2010-01-12 18:13:00

标签: excel language-agnostic statistics

我一直在做一些有关统计学意义的研究,而且我已经学到了很多,但在计算P值方面似乎已经遇到了障碍。

我觉得我大概有95%的路在那里;只是我读到的关于计算P值的所有内容都引用了一个表而不是提供程序化解决方案。

似乎Excel的TDIST函数做了我想要的(我已经有了T统计量,我可以传递给TDIST和N - 2作为自由度,其中N是我的样本量);但我不清楚这个功能是如何工作的。从数学上讲,我相信它是在正常分布曲线下找到超出规定值的区域;但是代码看起来像什么?

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

2 个答案:

答案 0 :(得分:3)

如果您可以使用GNU代码,我建议使用GNU Scientific Library(GSL)。

Excel中的

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以了解实施情况(它使用系列扩展)。

答案 1 :(得分:1)

有关累积分布函数的公式,请参阅此Wikipedia on student-t文章。

代码示例例如是在Rsrc/nmath/pt.c库的文件nmath中。