Hi r-help-boun...@r-project.org napsal dne 04.03.2010 10:36:43:
> > Hi R Gurus, > > I am trying to figure out what is going on here. > > > a <- 68.08 > > b <- a-1.55 > > a-b > [1] 1.55 > > a-b == 1.55 > [1] FALSE > > round(a-b,2) == 1.55 > [1] TRUE > > round(a-b,15) == 1.55 > [1] FALSE > > Why should (a - b) == 1.55 fail when in fact b has been defined to be a - 1. > 55? Is this a precision issue? How do i correct this? In real world those definitions of b are the same but not in computer world. See FAQ 7.31 Use either rounding or all.equal. > all.equal(a-b, 1.55) [1] TRUE To all, this is quite common question and it is documented in FAQs. However there is no such issue in Excel or some other spreadsheet programs, therefore maybe a confusion from novices. I wonder if there could be some type of global option which will get rid of these users mistakes or misunderstandings by setting some threshold option for equality testing by use "==". Regards Petr > > Alex > > _________________________________________________________________ > Hotmail: Free, trusted and rich email service. > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org mailing list > 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 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.