2016-08-04 50 views
0

我遇到過一個簡單的條件頗有些不尋常的結果,真正需要別人來自己的機器上運行本作進行仔細的檢查。下面的代碼:奇怪行爲使用序列

mySEQ <- seq(0.1, 1.0, by = 0.1) 
for (s in c(0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0)) { print((s + .1) %in% mySEQ) } 
mySEQ[3] == 0.3 

導致:爲什麼他們不都打印出來TRUE

> mySEQ <- seq(0.1, 1.0, by = 0.1) 
> for (s in c(0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0)) { print(s %in% mySEQ) } 
[1] TRUE 
[1] TRUE 
[1] FALSE 
[1] TRUE 
[1] TRUE 
[1] TRUE 
[1] FALSE 
[1] TRUE 
[1] TRUE 
[1] TRUE 
> mySEQ[3] == 0.3 
[1] FALSE 
> mySEQ[3] 
[1] 0.3 

我以絕對困惑。就好像0.3和0.7有什麼問題。我更新了R和我的所有軟件包,但只需要其他人來運行它來檢查它是否只是我。它似乎與seq功能有關。謝謝。

回答