簡體   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