将浮点数序列与向量进行比较

时间:2014-04-04 19:55:31

标签: r comparison seq

这太傻了,我几乎不敢问。但是这里有。

> b <- c( 0.54, 0.56, 0.58, 0.6 )
> s <- seq( 0.54, 0.60, 0.02 )

我希望这两者是平等的但是......

> b == s
[1] TRUE  TRUE FALSE  TRUE

是什么给出的?我一定是想念一些非常愚蠢的东西。顺便说一句,我让一位同事在他的机器上重现了同样的东西。我正在使用

> sessionInfo()

R version 3.0.0 (2013-04-03)
Platform: x86_64-w64-mingw32/x64 (64-bit)

locale:
[1] LC_COLLATE=English_Canada.1252  LC_CTYPE=English_Canada.1252                     LC_MONETARY=English_Canada.1252
[4] LC_NUMERIC=C                    LC_TIME=English_Canada.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] tools_3.0.0

有关文档中seq行为的详细信息,可能吗?

更新:请参阅下面的答案和here。经验教训:永远不要忘记全部floating point arithmetic

1 个答案:

答案 0 :(得分:2)

尝试使用all.equal功能

> all.equal(b,s)
[1] TRUE