[Rd] Rounding in print.summaryDefault()

Joris Meys jorismeys at gmail.com
Sun May 28 17:52:30 CEST 2017


Weird, because the output of Windows is actually correct. The exact mean of
a is 1234568.51, which rounds to 1234569.

I can reproduce the Windows output on a Windows machine. My Debian server
has R 3.3.1 , and there I can reproduce your output using:

> summary(a, digits = 8)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
1234568 1234568 1234568 1234568 1234569 1234569

> sessionInfo()
R version 3.3.1 (2016-06-21)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Debian GNU/Linux 8 (jessie)

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C
 [9] LC_ADDRESS=C               LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base



On Sun, May 28, 2017 at 5:37 PM, Arne Henningsen <arne.henningsen at gmail.com>
wrote:

> Dear all
>
> I am happy that summary.default() no longer rounds since R 3.4.0.
>
> However, in R 3.4.0, in a few cases, print.summaryDefault() rounds the
> mean value (and the median value) differently on my GNU/Linux machine
> and on my colleague's MS-Windows machine. Here is a small (simplified)
> reproducible example:
>
> R> a <- 1234568.01 + c(0:1)
> R> summary(a)
>
> Output on MS-Windows (expected rounding of the mean value):
>    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
> 1234568 1234568 1234569 1234569 1234569 1234569
>
> Output on GNU/Linux (unexpected rounding of the mean value):
>    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
> 1234568 1234568 1234568 1234568 1234569 1234569
>
> The following code gives the same output on MS-Windows and on GNU/Linux:
> R> print(summary(a), digits=9)
>     Min.   1st Qu.    Median      Mean   3rd Qu.      Max.
> 1234568.0 1234568.3 1234568.5 1234568.5 1234568.8 1234569.0
> R> summary(a)["Mean"]
>   Mean
> 1234569
> R> mean(a)
> [1] 1234569
> R> print(mean(a), digits=9)
> [1] 1234568.51
>
> Can these outputs be reproduced by other GNU/Linux and MS-Windows users?
>
> If these differences can be reproduced by others: Should these
> differences in the output on GNU/Linux and MS-Windows be considered as
> a bug?
>
> Does anybody know how one can avoid to get different roundings in the
> outputs of summary() on different computers?
>
> Best,
> Arne
>
> --
> Arne Henningsen
> http://www.arne-henningsen.name
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>



-- 
Joris Meys
Statistical consultant

Ghent University
Faculty of Bioscience Engineering
Department of Mathematical Modelling, Statistics and Bio-Informatics

tel :  +32 (0)9 264 61 79
Joris.Meys at Ugent.be
-------------------------------
Disclaimer : http://helpdesk.ugent.be/e-maildisclaimer.php

	[[alternative HTML version deleted]]



More information about the R-devel mailing list