[Rd] Logic Error (PR#8677)

Janusz Kawczak jkawczak at uncc.edu
Mon Mar 13 01:08:01 CET 2006


However, mean(x)==0.2 returns TRUE
Also, mean(x)>=(1-0.8) returns TRUE ;)

So, it's not just the approximation calculus.

On Sun, 12 Mar 2006, Duncan Murdoch wrote:

> On 3/12/2006 6:39 PM, mkdavis at math.ucalgary.ca wrote:
> > Full_Name: Matthew Davis
> > Version: 2.2.0
> > OS: OS X (10.4.5)
> > Submission from: (NULL) (209.107.120.195)
> >
> >
> > the mean of my sample x is 0.2, and when I check mean(x)<=0.2 I get a TRUE
> > value, when I check mean(x)<=(1-0.8) I get a FALSE value.  (x <- c(0, 1, 0, 0,
> > 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0))
>
> Why make this so complicated?  The natural conclusion from that is that
> 0.2 is not equal to (1-0.8), and indeed:
>
>  > (1-0.8) == 0.2
> [1] FALSE
>
> The problem is that neither 0.2 nor 0.8 can be represented exactly, so
> when you do calculations using them you are doing approximations.  The
> approximation involving your mean is different than the one involving
> (1-0.8).  This is an FAQ,
>
> 7.31 Why doesn't R think these numbers are equal?
>
> This is not a bug.
>
> Duncan Murdoch
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>



More information about the R-devel mailing list