Message-ID: <CAAxdm-75vGkZzteeiwjrU7Os-sVmPanmPspzd2B79oayxyJ47A@mail.gmail.com>
Date: 2012-10-17T11:47:36Z
From: jim holtman
Subject: frequency table with custom bands
In-Reply-To: <1350452883.72707.YahooMailNeo@web142602.mail.bf1.yahoo.com>
you can always use 'unique':
breaks <- unique(breaks)
or just make sure when you are defining your break sequence that they
are not overlapping as they were in your original data at 100. That
is why in my example I was using:
>> seq1 = seq(0, 95, by = 5) # prevents overlap at 100
>> seq2 = seq(100, 1000, by = 100)
>> Bands = c(seq1, seq2)
On Tue, Oct 16, 2012 at 10:48 PM, arun <smartpink111 at yahoo.com> wrote:
> Hi Jim,
>
> I am gettng the error message that the breaks are not unique: (R 2.15)
> table(cut(Prices,breaks=Bands))
> Error in cut.default(Prices, breaks = Bands) : 'breaks' are not unique
>
>
> So, I tried using:
> res<-rbind(as.data.frame(table(cut(Prices,breaks=seq1))),as.data.frame(table(cut(Prices,breaks=seq2))))
> res2<-apply(res,2,function(x) gsub("\\(|\\]","",gsub("[,]","-",x)))
> res3<-within(as.data.frame(res2),{Freq<-as.numeric(Freq)})
> head(res3)
> # Var1 Freq
> #1 0-5 1
> #2 5-10 6
> #3 10-15 2
> #4 15-20 2
> #5 20-25 6
> #6 25-30 2
>
>
> A.K.
>
>
>
>
>
>
>
>
> ----- Original Message -----
> From: jim holtman <jholtman at gmail.com>
> To: jcrosbie <james at crosb.ie>
> Cc: r-help at r-project.org
> Sent: Tuesday, October 16, 2012 8:52 PM
> Subject: Re: [R] frequency table with custom bands
>
> ?cut
>
> try this:
>
>> seq1 = seq(0, 95, by = 5)
>> seq2 = seq(100, 1000, by = 100)
>> Bands = c(seq1, seq2)
>> Prices = sample(1:1000, 200, replace=F)
>> table(cut(Prices, breaks = Bands))
>
> (0,5] (5,10] (10,15] (15,20] (20,25]
> (25,30] (30,35] (35,40]
> 1 2 1 1 0
> 2 1 1
> (40,45] (45,50] (50,55] (55,60] (60,65]
> (65,70] (70,75] (75,80]
> 1 1 1 1 1
> 1 1 0
> (80,85] (85,90] (90,95] (95,100] (100,200]
> (200,300] (300,400] (400,500]
> 1 2 0 1 22
> 20 17 22
> (500,600] (600,700] (700,800] (800,900] (900,1e+03]
> 25 20 16 18 20
>>
>>
>>
>
>
> On Tue, Oct 16, 2012 at 4:37 PM, jcrosbie <james at crosb.ie> wrote:
>> I would like to create a frequency table with custom bands.
>>
>> seq1 = seq(0, 100, by = 5)
>> seq2 = seq(100, 1000, by = 100)
>> Bands = c(seq1, seq2)
>> Prices = sample(1:1000, 200, replace=F)
>>
>> How would I go about find the frequency of prices within each band?
>>
>>
>>
>>
>>
>> --
>> View this message in context: http://r.789695.n4.nabble.com/frequency-table-with-custom-bands-tp4646413.html
>> Sent from the R help mailing list archive at Nabble.com.
>>
>> ______________________________________________
>> 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.
>
>
>
> --
> Jim Holtman
> Data Munger Guru
>
> What is the problem that you are trying to solve?
> Tell me what you want to do, not how you want to do it.
>
> ______________________________________________
> 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.
>
--
Jim Holtman
Data Munger Guru
What is the problem that you are trying to solve?
Tell me what you want to do, not how you want to do it.