[R] seq(*,by=) rounding problem {was 'Strange behaviour of "image"'}
    Martin Maechler 
    maechler at stat.math.ethz.ch
       
    Thu Oct  3 13:24:43 CEST 2002
    
    
  
>>>>> "Ernesto" == Ernesto Jardim <ernesto at ipimar.pt>
>>>>>     on 03 Oct 2002 12:11:11 +0100 writes:
    Ernesto> Hi I'm using "image" and got some strange
    Ernesto> results. When I define the color sequence as
    Ernesto> "col=gray(seq(0.95,0,-0.01))" or
    Ernesto> "col=gray(seq(0.94,0,-0.01))" I got an error
    Ernesto> Error in gray(level) : invalid gray level, must be
    Ernesto> in [0,1].
    Ernesto> If I use 0.96 or 0.93 it works ...
yes, this is just floating point arithmetic, or "rounding" :
The following reveals the problem :
 > range(seq(0.94,0, by = -0.01))
 [1] -1.110223e-16  9.400000e-01
 > range(seq(0.93,0, by = -0.01))
 [1] 0.00 0.93
 > range(seq(0.96,0, by = -0.01))
 [1] 0.00 0.96
BTW, I usually never use "by=" in seq() exactly for this reason
(and rather use "length=" instead).
Martin
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
    
    
More information about the R-help
mailing list