r - 使用 R 计算 f 统计量的 p 值

标签 r distribution p-value

我正在尝试用 R 计算 f 统计量的 p 值。
R 在 lm() 函数中使用的公式等于(例如假设
x=100,df1=2,df2=40):

pf(100, 2, 40, lower.tail=F)
[1] 2.735111e-16

这应该等于
1-pf(100, 2, 40)
[1] 2.220446e-16

不一样!没有大的区别,但它来自哪里?
如果我计算 (x=5, df1=2, df2=40):
pf(5, 2, 40, lower.tail=F)
[1] 0.01152922

1-pf(5, 2, 40)
[1] 0.01152922

完全一样。问题是……这里发生了什么?我错过了什么吗?

最佳答案

正如评论所指出的,这是一个浮点精度问题。事实上,你展示的两个例子并不完全等于评估的:

> pf(5, 2, 40, lower.tail=F) - (1-pf(5, 2, 40))
[1] 6.245005e-17

> pf(100, 2, 40, lower.tail=F) - (1-pf(500, 2, 40))
[1] 2.735111e-16

只是这种差异仅在您输出的数字小得多的情况下才明显。

关于r - 使用 R 计算 f 统计量的 p 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21433528/

相关文章:

R:您可以为日期时间数据创建自定义层次结构顺序吗?

r - 多次运行 h2o 深度学习得到一致的结果

julia - 在 Julia 中估计概率分布并从中采样

r - ggplot2:如何在分组条形图上添加线条和 p 值?

r - 查找 p 值和 z 统计量以及 OLS 线性回归

r - 10 行 block 中 p 值的循环改组

r - R 中无向图中的循环

r - 日期列中的不同条目,目的是在删除之前保留列。如何最好地清理这样的 "date"列?

iphone - iOS 企业分发 MDM 与 OTA

iphone - 有没有办法让非开发人员发布 iPhone 应用程序?