我使用 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