[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