On Sat, Oct 9, 2010 at 2:38 PM, Joshua Wiley <jwiley.ps...@gmail.com> wrote:
> Hi Steven,
>
> As near as I can tell, no precision is lost.  R is just being
> courteous and not excessively filling our consoles.  Try:
>
> print(airports[1,"latitude_deg"], digits = 22)
>
> which is the most digits R will print (although internally it can
> store more I believe).

Dr. Heiberger was kind enough to point out to that the maximum is 53
binary digits, as stated in the R FAQ 7.31:
http://cran.r-project.org/doc/FAQ/R-FAQ.html#Why-doesn_0027t-R-think-these-numbers-are-equal_003f

Slides by the same from the recent UseR! 2010 conference also provide
further explanation:
http://user2010.org/slides/Heiberger.pdf

One library that allows further precision is Rmpfr based on:
http://www.mpfr.org/

To give a small example borrowing the sprintf() display from Dr.
Heiberger's slides:

> library(Rmpfr)
> sprintf("%+17.17f", 2/3)
[1] "+0.66666666666666663"
> mpfr(2, 260)/3
1 'mpfr' number of precision  260   bits
[1] 
0.66666666666666666666666666666666666666666666666666666666666666666666666666666685
>

My sincerest apologies for the previous misinformation.

Josh

<snip>

______________________________________________
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