如何使用 R 正确比较科学记数法中的数字?

How to properly compare numbers in scientific notation using R?

我正在阅读 following tutorial 以测试两个人群的比例。 运行

之后
prop.test(x=c(342,290), n=c(400,400))

我收到的 p 值为 9.558674e-06,教程说它大于 alpha 水平 0.05。我认为这是一个错字,只是将 p 值与其十进制表示法的值 0.000009558674 进行比较,但收到“假”。我什至使用

关闭了科学记数法
options(scipen=999)

并且当从 prop.test 返回的对象中打印出 p 值时,当比较 p 值与 0.000009558674 是否相等时,我仍然收到“False”,它认为 p 值小于.为什么会这样?

您可能要考虑使用 all.equal() 函数。可以使用 tolerance 参数设置值之间的公差。

isTRUE(all.equal(2, 2.00000001))
##  [1] TRUE
isTRUE(all.equal(2, 2.00000001, tolerance = 0.0000000001))
##  [1] FALSE