[Rd] "==" gives incorrect answers! (PR#6691)
Peter Dalgaard
p.dalgaard at biostat.ku.dk
Wed Mar 24 15:50:40 CET 2004
dongyunhkim at yahoo.com writes:
> 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
Please, do read up on elementary computer theory, in particular the
parts about inexact representation of decimal numbers as floating
point numbers, and why equality of such numbers cannot be trusted!
What you're seeing is the moral equivalent of
1/3 + 1/6 = 0.333 + 0.666 = 0.999 != 1
--
O__ ---- Peter Dalgaard Blegdamsvej 3
c/ /'_ --- Dept. of Biostatistics 2200 Cph. N
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907
More information about the R-devel
mailing list