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.