On Thu, Mar 10, 2011 at 10:34:21AM -0800, maiya wrote:
> Thanks Josh and Dan!
> 
> I did figure it had something to do with the machine epsilon...
> 
> But so what do I do now? I'm calculating the total absolute error over
> thousands of tables e.g.:
> tae<-sum(abs(obs-exp))
> Is there any easy way to I keep these ignorable errors from showing up?
> 
> And furthermore, why does this happen only sometimes? The two (2D) tables I
> attached are actually just one 'layer' in a 3D table. And only 2 out of
> about 400 layers had this happen, all the other ones are identical -
> perfectly!

Hi.

Two numbers cannot differ by an amount less than machine epsilon. If the
difference of two numbers is smaller, then they are exactly equal. So, if
a computation has very low error, then it shows up only sometimes. A simple
example is

  i <- 6:55
  i/100*100 - i

   [1]  0.000000e+00  8.881784e-16  0.000000e+00  0.000000e+00  0.000000e+00
   [6]  0.000000e+00  0.000000e+00  0.000000e+00  1.776357e-15  0.000000e+00
  [11]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
  [16]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
  [21]  0.000000e+00  0.000000e+00  3.552714e-15 -3.552714e-15  0.000000e+00
  [26]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
  [31]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
  [36]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
  [41]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
  [46]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  7.105427e-15

The "machine epsilon" is a relative quantity depending on the number, so the
errors here are different from what you observed. The numbers in your
tables "obs" and "exp" differ by 1 or 2 units in the order of the least
significant bit. This is hard to avoid unless you can work only with integers.

Hope this helps.

Petr Savicky.

______________________________________________
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.

Reply via email to