Never mind, found the function :
cut(test,breaks=c(0,10,50,90,100),labels=c("lowest","low","high","highest"),include.lowest=T,right=F)
Cheers
Joris
On Mon, Nov 23, 2009 at 2:14 PM, joris meys <[email protected]> wrote:
> Dear all,
>
> I'm looking for a function comparable to switch, to categorize a
> continuous variable in a few levels. Off course that can be done with
> a series of ifelse statements, but that looks rather clumsy. I looked
> at switch, but couldn't figure out how to use it for this. I guess
> that's not possible, as it only works with characters or integers, not
> with intervals.
>
> Basically, I'm looking for a clean way to do :
> test <- runif(10,1,100)
>
> testFunc <-function(x){
> x <- ifelse(test<10,"lowest",
> ifelse(10<=test & test <50,"low",
> ifelse(50<=test & test <90,"high",
> ifelse(90<=test & test<100,"highest",NA)
> )
> )
> )
> return(as.factor(x))
> }
>
> testFunc(test)
>
> Thank you in advance
>
______________________________________________
[email protected] mailing list
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.