1
的GNUř
:
which(seq(0, 1600, 0.05) == 0.3) returns
integer(0)
但這:
which(round(seq(0, 1600, 0.05),2) == 0.3) returns
[1] 7
seq()
函數會發生什麼?
的GNUř
:
which(seq(0, 1600, 0.05) == 0.3) returns
integer(0)
但這:
which(round(seq(0, 1600, 0.05),2) == 0.3) returns
[1] 7
seq()
函數會發生什麼?
這基本上是關於浮點數比較的R常問題7.31 - 導致着名的「每個計算機科學家應該知道的關於浮點數的知識」。
簡而言之,使用identical()
和其他輔助函數來比較相對較小的值\,因爲完美的等式不能與浮點類型相比。
你能詳細說明一下如何在這裏使用「相同」嗎?例如這也給了'整數(0)':'(sapply(seq(0,1600,0.05),相同的,0.3))' – GSee
這就是爲什麼我揮動,並說,_和其他幫助函數_ :)我寫在培養。試試這個大小:'(sapply(seq(0,1,by = 0.05),function(x)isTRUE(all.equal(x,0.30))))' –
謝謝,它適合 – GSee