【发布时间】:2022-01-22 11:20:06
【问题描述】:
我正在阅读 following tutorial 以测试两个人群的比例。运行后
prop.test(x=c(342,290), n=c(400,400))
我收到了 9.558674e-06 的 p 值,教程说它大于 0.05 的 alpha 水平。我认为这是一个错字,只是将 p 值与其十进制值 0.000009558674 进行比较,但收到“False”。我什至关闭了科学记数法使用
options(scipen=999)
当从 prop.test 返回的对象中打印出 p 值时,在将 p 值与 0.000009558674 进行比较时,我仍然收到“False”,它认为 p 值小于。为什么会这样?
【问题讨论】:
-
我对您的问题的理解是,您将 9.559e-06(四舍五入)与 9.558674e-06 进行比较,这可能小于或大于取决于未四舍五入的值?
-
浮点相等(尤其是高精度数字)应该小心测试;更好的比较是查看绝对差异是否低于阈值。例如,
abs(9.559e-06 - 0.000009558674) < 1e-9为真,表示这些数字非常相似。对于浮点相等,请参阅stackoverflow.com/q/9508518、stackoverflow.com/q/588004 和 en.wikipedia.org/wiki/IEEE_754。 -
抱歉,原帖有错别字。我收到的 p 值为 9.558674e-06。
-
见 r2evans 的回答。浮点数的相等性永远无法真正正确地测试。
-
这是一个常见问题。请参阅 R 常见问题解答:cran.r-project.org/doc/FAQ/…
标签: r p-value proportions