如何找到对应于特定 p 值的 F 值,例如R 中的 p=0.05?
How to find F value that corresponds to a specific p value, e.g. p=0.05 in R?
我想找到对应于 p=0.05 的 F 值(单(右)尾分布),给定预先指定的两个自由度(下面的 1 和 29)。我通过反复试验来做到这一点:
#..F values..............p values...
1-pf(4.75, 1, 29) # 0.03756451
1-pf(4.15, 1, 29) # 0.05085273
1-pf(4.18295, 1, 29) # 0.05000037
1-pf(4.18297, 1, 29) # 0.04999985
1-pf(4.18296, 1, 29) # 0.05000011
所以,我想不试错就得到F=4.18296。有什么想法吗?
有两种可能实现这样的结果,我们需要使用分位数函数:
qf(1 - 0.05, 1, 29)
或 qf(0.05, 1, 29, lower.tail = FALSE)
qf(1 - 0.05, 1, 29)
# [1] 4.182964
qf(0.05, 1, 29, lower.tail = FALSE)
# [1] 4.182964
1 - pf(4.182964, 1, 29)
# [1] 0.05000001
第一个选项考虑到 lower.tail
的默认选项等于 TRUE
所以我们必须使用 1 - 0.05
对于第二个选项,我们使用 lower.tail = FALSE
指定我们想要 P[X > x]
我想找到对应于 p=0.05 的 F 值(单(右)尾分布),给定预先指定的两个自由度(下面的 1 和 29)。我通过反复试验来做到这一点:
#..F values..............p values...
1-pf(4.75, 1, 29) # 0.03756451
1-pf(4.15, 1, 29) # 0.05085273
1-pf(4.18295, 1, 29) # 0.05000037
1-pf(4.18297, 1, 29) # 0.04999985
1-pf(4.18296, 1, 29) # 0.05000011
所以,我想不试错就得到F=4.18296。有什么想法吗?
有两种可能实现这样的结果,我们需要使用分位数函数:
qf(1 - 0.05, 1, 29)
或 qf(0.05, 1, 29, lower.tail = FALSE)
qf(1 - 0.05, 1, 29)
# [1] 4.182964
qf(0.05, 1, 29, lower.tail = FALSE)
# [1] 4.182964
1 - pf(4.182964, 1, 29)
# [1] 0.05000001
第一个选项考虑到 lower.tail
的默认选项等于 TRUE
所以我们必须使用 1 - 0.05
对于第二个选项,我们使用 lower.tail = FALSE