Thank you all for your suggestions. It really helped me a lot. Best, Bibek On Thu, Oct 25, 2012 at 4:44 AM, arun <smartpink...@yahoo.com> wrote: > HI Petr, > > Thanks for sharing the function. True, very efficient than cut. > > dat1$cat<-findInterval(dat1$V1, 1:6, rightmost.closed = T, all.inside = T) > ^^^ > # May be the interval is 0:6. > dat1$cat1<-findInterval(dat1$V1, 1:6, rightmost.closed = T, all.inside = T) > dat1$cat2<-findInterval(dat1$V1, 0:6, rightmost.closed = T, all.inside = T) > head(dat1) > # V1 cat1 cat2 > #1 2.880556 2 3 > #2 0.616667 1 1 > #3 5.083333 5 6 > #4 0.858333 1 1 > #5 0.466667 1 1 > #6 2.936111 2 3 > A.K. > > > > > ----- Original Message ----- > From: PIKAL Petr <petr.pi...@precheza.cz> > To: arun <smartpink...@yahoo.com>; Jorge I Velez <jorgeivanve...@gmail.com>; > bibek sharma <mbhpat...@gmail.com> > Cc: R help <r-help@r-project.org> > Sent: Thursday, October 25, 2012 5:29 AM > Subject: RE: [R] Defining categories > > Hi > > Maybe also findInterval can be used > > dat1$cat<-findInterval(dat1$V1, 1:6, rightmost.closed = T, all.inside = T) > > It is said to be more efficient than cut. > > Regards > Petr > > > >> -----Original Message----- >> From: r-help-boun...@r-project.org [mailto:r-help-bounces@r- >> project.org] On Behalf Of arun >> Sent: Thursday, October 25, 2012 3:32 AM >> To: Jorge I Velez; bibek sharma >> Cc: R help >> Subject: Re: [R] Defining categories >> >> Hi, >> (Jorge: Thanks for the suggestion.) >> cut? will be much easier. >> >> dat1<-read.table(text=" >> 2.880556 >> 0.616667 >> 5.083333 >> 0.858333 >> 0.466667 >> 2.936111 >> 4.258333 >> 0.258333 >> 2.033333 >> 2.583333 >> 1.088889 >> 0.447222 >> 1.872222 >> 0.080556 >> 4.033333 >> 4.116667 >> 1.633333 >> 2.147222 >> ",sep="",header=FALSE) >> dat1$Categ<-cut(dat1$V1,breaks=c(0,1,2,3,4,5,6)) >> #Either >> >> library(car) >> dat1$Categ<- >> recode(dat1$Categ,"'(0,1]'=1;'(1,2]'=2;'(2,3]'=3;'(3,4]'=4;'(4,5]'=5;'( >> 5,6]'=6") >> #or >> dat1$Categ<-as.numeric(gsub(".*\\,(\\d+).*","\\1",dat1$Categ)) >> #formats the Categ column. >> head(dat1) >> # V1 Categ >> #1 2.880556 3 >> #2 0.616667 1 >> #3 5.083333 6 >> #4 0.858333 1 >> #5 0.466667 1 >> #6 2.936111 3 >> A.K. >> >> >> >> >> >> >> ________________________________ >> From: Jorge I Velez <jorgeivanve...@gmail.com> >> To: arun <smartpink...@yahoo.com> >> Cc: bibek sharma <mbhpat...@gmail.com>; R help <r-help@r-project.org> >> Sent: Wednesday, October 24, 2012 7:27 PM >> Subject: Re: [R] Defining categories >> >> >> See ?cut for a simpler way of doing this. >> HTH, >> Jorge.- >> >> >> >> On Thu, Oct 25, 2012 at 10:02 AM, arun <> wrote: >> >> Hi, >> >May be this: >> >dat1<-read.table(text=" >> > >> >2.880556 >> >0.616667 >> >5.083333 >> >0.858333 >> >0.466667 >> >2.936111 >> >4.258333 >> >0.258333 >> >2.033333 >> >2.583333 >> >1.088889 >> >0.447222 >> >1.872222 >> >0.080556 >> >4.033333 >> >4.116667 >> >1.633333 >> >2.147222 >> >",sep="",header=FALSE) >> >dat1$category<-ifelse(dat1$V1<=1 &dat1$V1>0,1,ifelse(dat1$V1>1 & >> dat1$V1<=2,2,ifelse(dat1$V1>2&dat1$V1<=3,3,ifelse(dat1$V1>3&dat1$V1<=4, >> 4,ifelse(dat1$V1>4&dat1$V1<=5,5,6))))) >> > >> > >> > head(dat1) >> ># V1 category >> >#1 2.880556 3 >> >#2 0.616667 1 >> >#3 5.083333 6 >> >#4 0.858333 1 >> >#5 0.466667 1 >> >#6 2.936111 3 >> >A.K. >> > >> > >> > >> > >> >----- Original Message ----- >> >From: bibek sharma <> >> >To: r-help@r-project.org >> >Cc: >> >Sent: Wednesday, October 24, 2012 6:52 PM >> >Subject: [R] Defining categories >> > >> >Hello R user, >> > >> >Data below represent year in decimal. I would like to catagorize it >> >in such a way that any valye [0,1] goes to catagory 1 , (1,2] goes to >> >catagory 2 and so on.. >> >Any suggestion how it can be done with if else statement or any other >> way? >> > >> >2.880556 >> >0.616667 >> >5.083333 >> >0.858333 >> >0.466667 >> >2.936111 >> >4.258333 >> >0.258333 >> >2.033333 >> >2.583333 >> >1.088889 >> >0.447222 >> >1.872222 >> >0.080556 >> >4.033333 >> >4.116667 >> >1.633333 >> >2.147222 >> > >> >Thank you for your help. >> >Bibek >> > >> >______________________________________________ >> >R-help@r-project.org 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. >> > >> > >> >______________________________________________ >> >R-help@r-project.org 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. >> > >> >> ______________________________________________ >> R-help@r-project.org 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. >
______________________________________________ R-help@r-project.org 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.