我已经使用GSL库在C中执行了线性回归。我在R中执行了相同的回归。我可以使用“ summary”命令访问R中此回归的p值。
在C中,我有协方差矩阵,残差平方值的总和和拟合系数。使用这些,如何计算p值?
我尝试使用“从GSL库获取C的gsl_fit_linear()函数中的线性回归的p值”的方法,
任何人都可以确认其有效性吗?与R相比,它给我的结果有所不同。
我将这行C代码隔离为错误的代码,但看不到原因:
double pv0=t0<0?2*(1-gsl_cdf_tdist_P(-t0,n-2)):2*(1-gsl_cdf_tdist_P(t0,n-2));//This is the p-value of the constant term
R给出的结果:
系数:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -700.000 226.569 -3.090 0.05373 .
x 60.000 6.831 8.783 0.00311 **
C给出的结果:
Coefficients Estimate Std. Error t value Pr(>|t|)
(Intercept) -700.000000 226.568606 -3.089572 -550099700.000000
x 60.000000 6.831301 8.783101 -4.000000
gsl_cdf_tdist_P
应该有两个double
参数并返回double
0到1之间的a 。
首先检查所有类型。
如果在所有类型正确的情况下返回的值在0-1之外,则某个地方存在非常严重的问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句