[R] Strange behaviour of as.integer()
Ulrich Keller
uhkeller at web.de
Thu Jan 7 13:31:42 CET 2010
I have encountered a strange behaviour of as.integer() which does not
seem correct to me. Sorry if this is just an indication of me not
understanding floating point arithmetic.
> .57 * 100
[1] 57
> .29 * 100
[1] 29
So far, so good. But:
> as.integer(.57 * 100)
[1] 56
> as.integer(.29 * 100)
[1] 28
Then again:
> all.equal(.57 * 100, as.integer(57))
[1] TRUE
> all.equal(.29 * 100, as.integer(29))
[1] TRUE
This behaviour is the same in R 2.10.1 (Ubuntu and Windows) and 2.9.2
(Windows),
all 32 bit versions. Is this really intended?
More information about the R-help
mailing list