[Rd] 0.45<0.45 = TRUE (PR#10744)

Duncan Murdoch murdoch at stats.uwo.ca
Tue Feb 12 15:49:52 CET 2008


On 2/12/2008 9:35 AM, labonne at st-pee.inra.fr wrote:
> Dear developer,
> 
> in my version of R (2.4.0) as weel as in a more recent version (2.6.0) 
> on different computers, we found this problem :

This is not a bug, it's a limitation of finite precision arithmetic, and 
it's FAQ 7.31.

Duncan Murdoch


> 
>  > a<-(58/40-1)
>  > a
> [1] 0.45
>  > b<-(18/40)
>  > b
> [1] 0.45
>  > a<b
> [1] TRUE
>  > a==b
> [1] FALSE
>  >
> Something seems wrong here.
> but if we do
> 
>  > c<-0.45
>  > d<-0.45
>  > c<d
> [1] FALSE
> 
> then everything is ok.
> If we use 59 and 19 instead of 58 and 18, the error is not here anymore. 
> I guess there is a problem with the envelop object for the comparisons 
> between different types in R (as in JAVA maybe) but I am not familiar 
> with the R language.
> I hope this helps, and that this is a real bug, if not, I am sorry to 
> have bothered you.
> 
> Cheers!
> 
> Jacques.
> 
>



More information about the R-devel mailing list