[R] strange behaviour with equality after simple subtraction
gunter.berton at gene.com
Fri Jan 26 18:16:44 CET 2007
FAQ on R 7.31. ?all.equal ?identical
Have you read these?
Genentech Nonclinical Statistics
South San Francisco, CA 94404
From: r-help-bounces at stat.math.ethz.ch
[mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of Mike Prager
Sent: Friday, January 26, 2007 8:41 AM
To: r-help at stat.math.ethz.ch
Subject: Re: [R] strange behaviour with equality after simple subtraction
"martin sikora" <martin.sikora at upf.edu> wrote:
> today while trying to extract data from a list for subsequent analysis, i
> stumbled upon this funny behavior on my system:
> > x<-c(0.1,0.9)
> > 1-x
>  0.1
> > x
>  0.1
> > x==1-x
>  FALSE
> > x>1-x
>  TRUE
Not at all strange, an expected property of floating-point
arithmetic and one of the most frequently asked questions here.
> print(0.1, digits=17)
> print(1 - 0.9, digits=17)
A simple description of the issue is at
In most cases, it suffices to test for approximate difference or
relative difference. The former would look like this
if (abs(x - x) < eps)) ...
with "eps" set to something you think is an insignificant
difference, say 1.0e-10.
Mike Prager, NOAA, Beaufort, NC
* Opinions expressed are personal and not represented otherwise.
* Any use of tradenames does not constitute a NOAA endorsement.
R-help at stat.math.ethz.ch mailing list
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
More information about the R-help