On Apr 3, 2015, at 5:09 AM, Wing Keong Lew wrote:
> Hi,
>
> Is it a requirement to provide the break intervals of the cut function in
ascending order?
Apparently not. I get teh sam splits even with random permutations. It is
apparently a "requirement" to make sure you labels match the sorted
order of the breaks.
The findInterval function does require that its `vec` argument be
non-decreasing, but I do not see a discussion of break order in the help page.
Looking at cut.default the first think it does to the breaks is sort them.
#... snipped code that deals with length(breaks)==1
else nb <- length(breaks <- sort.int(as.double(breaks)))
--
David.
> The help documentation for cut didn't specify this but the labels
returned are reversed if I indicate the break intervals in a descending order.
Here is an example
>
> tbl<-data.frame(x=c(0:10))
> tbl$ascending<-cut(tbl$x, breaks=c(0,3,5,9,99),
labels=c('<3','4-5','6-9','>9'),
include.lowest=T)
> tbl$descending<-cut(tbl$x, breaks=c(99,9,5,3,0),
labels=c('>9','6-8','4-5','<3'),
include.lowest=T)
> tbl
> x ascending descending
> 1 0 <3 >9
> 2 1 <3 >9
> 3 2 <3 >9
> 4 3 <3 >9
> 5 4 4-5 6-8
> 6 5 4-5 6-8
> 7 6 6-9 4-5
> 8 7 6-9 4-5
> 9 8 6-9 4-5
> 10 9 6-9 4-5
> 11 10 >9 <3
>
> Appreciate any guidance on this.
> Regards
> Wing Keong
>
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
David Winsemius
Alameda, CA, USA