The concept of equality for numbers that are represented on a computer is frequently misapplied. Consider:
a <- seq(from=0, to=1, by=0.02) print(a[36]) [1] 0.7 a[36] == 0.7 [1] FALSE print(a[36], digits=22) [1] 0.7000000000000000666134 a[36] == 0.7000000000000001 [1] TRUE All clear? B. > On Apr 18, 2017, at 9:55 PM, Benjamin Robira <rob...@clipper.ens.fr> wrote: > > Dear Sir, > > I writting to you as I am facing an irregularity in R that I do not know > the origin. When doing a sequence from 0 to 1 by 0.02 and assigning it to > a vector (i.e. code: a <- seq(from=0, to=1, by=0.02)) then, when I try to > use the 36th element (and two others behave the same way) it is not > recognized correctly. For instance a[36]==0.7, what should give TRUE, > gives instead FALSE. However, this works fine for element 35 and 37 and > all other elements but two. > I do not know the reason. I restarted my R session and tried on another > computer. This has been the same. None of my colleagues had an answer. I > hope that you would be able to help me fix that as it must be a pretty > straightforward error that I do not realise. > > I would be thankful for any help, > With my very Best Regards, > Benjamin. > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.