[R] Question on Round function

Berend Hasselman bhh at xs4all.nl
Thu Jan 3 18:54:54 CET 2013


On 03-01-2013, at 18:44, Christofer Bogaso <bogaso.christofer at gmail.com> wrote:

> I happened to see these:
> 
>> round(.5, 0)
> [1] 0
>> round(1.5, 0)
> [1] 2
>> round(2.5, 0)
> [1] 2
>> round(3.5, 0)
> [1] 4
>> round(4.5, 0)
> [1] 4
> 
> 
> What is the rule here?
> 
> Should not round(.5, 0) = 1, round(2.5, 0) = 3 etc?

?round

In the Details section you will find:


Note that for rounding off a 5, the IEC 60559 standard is expected to be used, ‘go to the even digit’. Therefore round(0.5) is 0 and round(-1.5)is -2. However, this is dependent on OS services and on representation error (since e.g. 0.15 is not represented exactly, the rounding rule applies to the represented number and not to the printed number, and so round(0.15, 1) could be either 0.1 or 0.2).


Berend




More information about the R-help mailing list