[R] rowSums() and is.integer()

Prof Brian Ripley ripley at stats.ox.ac.uk
Wed Nov 21 10:09:41 CET 2007


On Wed, 21 Nov 2007, Robin Hankin wrote:

>
> On 21 Nov 2007, at 08:30, Prof Brian Ripley wrote:
>
>> On Tue, 20 Nov 2007, Tim Hesterberg wrote:
>> 
>>> I wrote the original rowSums (in S-PLUS).
>>> There, rowSums() does not coerce integer to double.
>> 
>> Actaully, neither does R.  It computes a double answer but does no coercion 
>> per se.
>> 
>>> However, one advantage of coercion is to avoid integer overflow.
>> 
>> Indeed, as I told Robin Hankin privately, that was the design reason.
>> 
>
>
> Brian Ripley also reminded me that the sum() of integers is an integer,
> behaviour that I find desirable.
>
> The reason for my starting this thread is that
> sometimes I actually *want* sums of
> integers to overflow: my interest is in exact computations
> where I must be absolutely certain that there can be no rounding error.
>
> If the sum cannot be represented
> in integers, I want this fact to be flagged with extreme vigour as it signals 
> what
> might be catastrophic loss of precision.

Doubles hold integers to a much higher precision (up to 2^53-1), so you 
can just check if any of the results exceed .Machine$integer.max.  It's 
very unlikely that you are summing enough integers for there to be a 
possibility of floating-point imprecision in an intermediate sum.

>
> At least, that's my current thinking.
>
>
>
> best wishes
>
>
> rksh
>
>
>>> 
>>> Tim Hesterberg
>>> 
>>>> ...  So, why does rowSums() coerce to double (behaviour
>>>> that is undesirable for me)?
>>> 
>>> ______________________________________________
>>> R-help at 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.
>>> 
>> 
>> -- 
>> Brian D. Ripley,                  ripley at stats.ox.ac.uk
>> Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
>> University of Oxford,             Tel:  +44 1865 272861 (self)
>> 1 South Parks Road,                     +44 1865 272866 (PA)
>> Oxford OX1 3TG, UK                Fax:  +44 1865 272595
>
> --
> Robin Hankin
> Uncertainty Analyst
> National Oceanography Centre, Southampton
> European Way, Southampton SO14 3ZH, UK
> tel  023-8059-7743

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595



More information about the R-help mailing list