如何使用 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
我正在阅读 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