[R] round() seems inconsistent when  rounding 5s
    Peter Dalgaard BSA 
    p.dalgaard at biostat.ku.dk
       
    Sun Mar 16 02:28:34 CET 2003
    
    
  
Rashid Nassar <rnassar at duke.edu> writes:
> Many thanks to all for the very quick replies.  I should have stated the
> apparent problem more clearly: round() does not seem to always round 5 to
> the nearest even value as I expected, as my examples (repeated below)
> showed:
> 
> > round(2.45, 1)
> [1] 2.5               # shouldn't this be 2.4?
> 
> > round(1.05, 1)
> [1] 1.1               #  1.0 ?
> 
> > signif(3.445, 3)
> [1] 3.45             # 3.44 ?
> 
> Apologies for not stating this more clearly in my first message, and again
> thanks for the replies.
Yes. From my reading of the code, I would expect 2.4 in the first case
as well. It appears that the intention is to subtract off the integer
part, scale according to the number of digits and round nnn.5 +- eps
towards even values of nnn, but that's not what is happening. 
Anyone want to trace through the code and see what is going on?
-- 
   O__  ---- Peter Dalgaard             Blegdamsvej 3  
  c/ /'_ --- Dept. of Biostatistics     2200 Cph. N   
 (*) \(*) -- University of Copenhagen   Denmark      Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk)             FAX: (+45) 35327907
    
    
More information about the R-help
mailing list