[Rd] "==" gives incorrect answers! (PR#6691)

ligges at statistik.uni-dortmund.de ligges at statistik.uni-dortmund.de
Wed Mar 24 15:44:30 CET 2004


dongyunhkim at yahoo.com wrote:

> Full_Name: Dong-Yun Kim
> Version: 1.7.0/1.8.1
> OS: WinMe/WinXP
> Submission from: (NULL) (4.33.147.192)
> 
> 
> Hi all,
> 
> It appears that R has a problem with evaluating logical "==" operator. The
> following are a few examples I found:
> 
> 
>>2.1+0.2==2.3
> 
> [1] FALSE
> 
>>2.7+0.1==2.8
> 
> [1] FALSE
> 
>>2.7+0.2==2.9
> 
> [1] FALSE
> 
>>3.1+0.2==3.3
> 
> [1] FALSE
> 
> Thanks.
> 
> Dong-Yun Kim
> 
> ______________________________________________
> R-devel at stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-devel

Not a bug!

These are (expected!) numerical issues of the representation of those 
values. Please read help("==") which tells you:

"For numerical values, remember == and != do not allow for the finite 
representation of fractions, nor for rounding error. Using all.equal 
with identical is almost always preferable."

And ?all.equal and ?identical tell you to use:

  identical(all.equal(2.7 + 0.1, 2.8), TRUE)


Uwe Ligges



More information about the R-devel mailing list