繁体   English   中英

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

[英]Compare sequence of floats to vector

这太愚蠢了,我几乎不敢问。 但在这里。

> 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行为的详细信息?

更新:见下面和这里的答案。 教训:永远不要忘记这都是浮点运算

尝试使用all.equal函数

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM