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.