我是R的初学者,我已经阅读了一些相关的问题,但我仍然有以下问题: 我有两个数字=> 0.6942181641427924709831和0.6942181641427929150723。第一个是计算的结果,第二个是给定/定义的。我必须使用这些数字,但它们必须相等(确切)!我刚读过关于R中的噪音...也许就是这种情况?
所以我可以在例如它们仍然相等的第15个小数位?舍入不起作用,因为它不会改变数字本身,只会改变R显示的内容......
非常感谢你们的回答!
答案 0 :(得分:2)
你可以通过检查它们的差异的绝对值是否低于某个阈值来进行这种“几乎相等”的比较。
x <- 0.6942181641427924709831
y <- 0.6942181641427929150723
x == y
# [1] FALSE
abs(x-y) < 1e-15
# [1] TRUE
all.equal
函数已经具有内置容差,这使得这很方便:
all.equal(x, y)
# [1] TRUE