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