【发布时间】:2015-11-09 12:47:28
【问题描述】:
我是 R 新手,我正在尝试测试我的线性模型。 lm() 函数的输出如下:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1615.2716 83.2051 19.41 <2e-16 ***
rts$angle 11.8387 0.8895 13.31 <2e-16 ***
我想测试零假设,它给了我以下输出:
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2503.17 70.04 35.74 <2e-16 ***
现在,我正在使用 F 检验公式:
(rss0 <- deviance(nullmod))
# [1] 158056425
(rss <- deviance(rtsld))
# [1] 79219962
(df0 <- df.residual(nullmod))
# [1] 179
(df <- df.residual(rtsld))
# [1] 178
(fstat <- ((rss0-rss)/(df0-df))/(rss/df))
# [1] 177.1383
1-pf(fstat, df0-df, df)
# [1] 0
我不明白为什么我的 p-value 的 f-statistic 为 0。有人可以帮我理解这个输出吗?
【问题讨论】:
-
你有机会发布数据吗?
-
把你的最后一行换成
format.pval()。 (你也可以在summary(full_model_fit)的输出中找到这个 p 值)。 -
@Roland 谢谢!这有效并给了我以下输出:“.Machine$double.eps,它给了我
[1] 2.220446e-16。 -
还想知道是否有人知道 lower.tail=TRUE 返回 1(导致 0 值)而不是更精确的估计的原因。如果有人有更多的技术知识,那肯定会满足我的好奇心,因为过去半小时我一直在寻找答案,但没有任何运气。
标签: r