[R] Defining categories

Jorge I Velez jorgeivanvelez at gmail.com
Thu Oct 25 11:35:42 CEST 2012


Thank you Dr. Pikal for this alternative.
Best,
Jorge.-

Sent from my phone. Please excuse my brevity and misspelling.

On Oct 25, 2012, at 8:29 PM, PIKAL Petr <petr.pikal at precheza.cz> wrote:

> 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-bounces at r-project.org [mailto:r-help-bounces at 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 <jorgeivanvelez at gmail.com>
>> To: arun <smartpink111 at yahoo.com>
>> Cc: bibek sharma <mbhpathak at gmail.com>; R help <r-help at 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 at 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 at 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 at 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 at 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.




More information about the R-help mailing list