[EMAIL PROTECTED] wrote:
> Full_Name: Aart Overeem
> Version: 2.2.0
> OS: Linux
> Submission from: (NULL) (145.23.254.155)
>
>
> Construct a dataframe consisting of several variables by using 'data.frame' 
> and
> 'cbind' and write it to a file with 'write.table'. The file consists of 
> headers
> and values, such as 12.4283675334551 (so 13 numbers behind the decimal point).
> If this dataframe is read with 'read.table(filename, skip = 1)' or
> 'read.table(filename, header = TRUE') the values only have 7 numbers behind 
> the
> decimal point, e.g. 12.42837. So, the reading rounds off the values. This is 
> not
> mentioned in the manual. Although the values still have many numbers behind 
> the
> decimal point, rounding off is, in my view, never desirable.
I don't see this.  Try the following script:

 > x <- data.frame(a=12.4283675334551)
 > x
         a
1 12.42837
 > write.table(x,'test')
 > y <- read.table('test')
 > y
         a
1 12.42837
 > y$a-x$a
[1] 0

If y$a had been rounded to 5 decimal places, then we would see a nonzero 
difference at the end.  I think you are being confused by the display, 
which only shows 5 decimal places, even though more are

maintained internally.  For example,

 > options(digits=20)
 > y
                 a
1 12.4283675334551


Please be careful about what you submit as a bug report.

Duncan Murdoch

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to