[R] write() gotcha

Roger Bivand Roger.Bivand at nhh.no
Mon Dec 18 18:12:14 CET 2006


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



More information about the R-help mailing list