On Tue, 22 Feb 2005 15:14:00 -0700, Tony Plate
<[EMAIL PROTECTED]> wrote :

>Thanks for the diagnosis.
>
>The reason I came across this was that I use both S-PLUS and R and I often 
>use the results of quantile() as the breaks for cut().  In S-PLUS, cut() 
>stops with an error if breaks has any decreasing values.  Thus this example 
>caused an S-PLUS function to unexpectedly stop with an error.   However, 
>cut() in R behaves differently: it sorts its breaks and thus does not 
>object to decreasing values in breaks.  Another difference is that cut() in 
>R stops with an error if any breaks are duplicated, which, I guess, means 
>that in R I should use findInterval() instead of cut() for this 
>task.  Except that findInterval() in R stops with an error if its breaks 
>are unsorted...
>
> > findInterval(x2, quantile(x2, (0:5)/5))
>Error in findInterval(x2, quantile(x2, (0:5)/5)) :
>         'vec' must be sorted non-decreasingly

I guess you'll just have to use sort(quantile(...)).  It makes the
labels look sort of funny, but is hopefully harmless:

> x <- rep(-0.00090419678460984, 602)
> sort(quantile(x, 0:5/5))
           0%           40%           60%           80%          100% 
-0.0009041968 -0.0009041968 -0.0009041968 -0.0009041968 -0.0009041968 
          20% 
-0.0009041968 

Duncan Murdoch

______________________________________________
R-devel@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to