[R] strange digit switching

Thomas Lumley tlumley at u.washington.edu
Mon Jun 19 20:21:29 CEST 2006


On Mon, 19 Jun 2006, Hans-Peter wrote:

> Hi,
>
> I execute the following code snippet.What I don't understand is, that in the
> first two cases the numbers shown don't correnspondant to the input (though
> I have set the options to show 22 digits). When I assign the third number
> which has one place, the display of the numbers is suddenly correct.
>
> Can anybody explain what happens here?

The problem is that you have set the options to show 22 digits, but the 
numbers are stored to fewer than 16 digits
> .Machine$double.eps
[1] 2.220446049250313080847e-16

Everything displayed after the 16th digit is effectively random (the 
actual values probably depend on exactly when the numbers are loaded into 
the 80-bit floating point registers on the CPU).

The actual results will vary from system to system (on my Linux system the 
output of x is the same at all stages, and is different from what you 
report), but nothing beyond the sixteenth digit is at all meaningful.


 	-thomas


> (this is just a sample, my real problem lies in numbers that I import from a
> datafile and I don't know how to control them when this switching occurs)
>
> ###########################
> options( digits=22 )
> x <- matrix(NA, 3,1)
> x[1] <- 6.94788635771657950
> x      # 6.947886357716580     # DIFFERENT ???
>        # NA
>        # NA
> x[1] == 6.94788635771657950   # but is the same
>
> x[2] <- 8.34284937565404050
> x      # 6.947886357716580     # DIFFERENT ???
>        # 8.342849375654041     # DIFFERENT ???
>        # NA
> x[1] == 6.94788635771657950   # but is the same
>
> x[3] <- 0.19043842368566377
> x      # 6.94788635771657950   # NOW OK!!!
>        # 8.34284937565404050   # "   "
>        # 0.19043842368566377   # "   "
> x[1] == 6.94788635771657950   # but is the same
>
>
> ###
> platform       i386-pc-mingw32
> arch           i386
> os             mingw32
> system         i386, mingw32
> status
> major          2
> minor          3.1
> year           2006
> month          06
> day            01
> svn rev        38247
> language       R
> version.string Version 2.3.1 (2006-06-01)
>
>
> -- 
> Regards,
> Hans-Peter
>
> 	[[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
>

Thomas Lumley			Assoc. Professor, Biostatistics
tlumley at u.washington.edu	University of Washington, Seattle



More information about the R-help mailing list