write() gotcha
On Mon, 18 Dec 2006, Robin Hankin wrote:
Hi I used write() the other day to save some results. It seems that write() does not record the full precision of the objects being written:
> write(pi,file="~/f",ncolumns=1)
> pi.saved <- scan("~/f")
Read 1 item
> dput(pi)
3.14159265358979
> dput(pi.saved)
3.141593
> pi-pi.saved
[1] -3.464102e-07
>
This difficulty was particularly difficult to find because pi.saved *looks* the same as pi. What's going on here?
Use options(digits=) to control the output. ?write says write() is a
wrapper for cat(), so:
options("digits"=16)
cat(pi, "\n")
write(pi,file="~/f",ncolumns=1)
pi.saved <- scan("~/f")
dput(pi.saved)
dput(pi)
looks OK
> R.Version()
$platform [1] "powerpc-apple-darwin8.7.0" $arch [1] "powerpc" $os [1] "darwin8.7.0" $system [1] "powerpc, darwin8.7.0" $status [1] "" $major [1] "2" $minor [1] "4.0" $year [1] "2006" $month [1] "10" $day [1] "03" $`svn rev` [1] "39566" $language [1] "R" $version.string [1] "R version 2.4.0 (2006-10-03)" -- Robin Hankin Uncertainty Analyst National Oceanography Centre, Southampton European Way, Southampton SO14 3ZH, UK tel 023-8059-7743
______________________________________________ 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 and provide commented, minimal, self-contained, reproducible code.
Roger Bivand Economic Geography Section, Department of Economics, Norwegian School of Economics and Business Administration, Helleveien 30, N-5045 Bergen, Norway. voice: +47 55 95 93 55; fax +47 55 95 95 43 e-mail: Roger.Bivand at nhh.no