Hello, My question is assuming I have cut()'ed my sample and look at the table() of it, how can I compute probabilities for the bins? Do I have to parse table's names() to fetch bin endpoints to pass them to p[distr-name] functions? i really don't want to input arguments to PDF functions by hand (nor copy-and-paste way).> x.fr <- table(cut(x,10)) > x.fr(0.0617,0.549] (0.549,1.04] (1.04,1.52] (1.52,2.01] (2.01,2.5] 16 28 26 18 6 (2.5,2.99] (2.99,3.48] (3.48,3.96] (3.96,4.45] (4.45,4.94] 3 2 0 0 1> names(x.fr)[1] "(0.0617,0.549]" "(0.549,1.04]" "(1.04,1.52]" "(1.52,2.01]" [5] "(2.01,2.5]" "(2.5,2.99]" "(2.99,3.48]" "(3.48,3.96]" [9] "(3.96,4.45]" "(4.45,4.94]" -- Andrei Zorine
On Fri, Oct 15, 2010 at 10:22 AM, Andrei Zorine <zoav1602 at gmail.com> wrote:> Hello, > My question is assuming I have cut()'ed my sample and look at the > table() of it, how can I compute probabilities for the bins?I actually don't know what you mean by this (my own ignorance probably). Do I have> to parse table's names() to fetch bin endpointsFor equal-width bins you can use seq(min(x), max(x), by = (max(x) - min(x))/10) HTH, Ista to pass them to> p[distr-name] functions? i really don't want to input arguments to PDF > functions by hand (nor copy-and-paste way). > >> x.fr <- table(cut(x,10)) >> x.fr > > (0.0617,0.549] ? (0.549,1.04] ? ?(1.04,1.52] ? ?(1.52,2.01] ? ? (2.01,2.5] > ? ? ? ? ? 16 ? ? ? ? ? ? 28 ? ? ? ? ? ? 26 ? ? ? ? ? ? 18 ? ? ? ? ? ? ?6 > ? (2.5,2.99] ? ?(2.99,3.48] ? ?(3.48,3.96] ? ?(3.96,4.45] ? ?(4.45,4.94] > ? ? ? ? ? ?3 ? ? ? ? ? ? ?2 ? ? ? ? ? ? ?0 ? ? ? ? ? ? ?0 ? ? ? ? ? ? ?1 > >> names(x.fr) > ?[1] "(0.0617,0.549]" "(0.549,1.04]" ? "(1.04,1.52]" ? ?"(1.52,2.01]" > ?[5] "(2.01,2.5]" ? ? "(2.5,2.99]" ? ? "(2.99,3.48]" ? ?"(3.48,3.96]" > ?[9] "(3.96,4.45]" ? ?"(4.45,4.94]" > > > -- > > Andrei Zorine > > ______________________________________________ > 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. >-- Ista Zahn Graduate student University of Rochester Department of Clinical and Social Psychology http://yourpsyche.org
Andrei - Looking inside the code for cut, it looks like you could retrieve the breaks as follows: getbreaks = function(x,nbreaks){ nb = nbreaks + 1 dx = diff(rx <- range(x,na.rm=TRUE)) seq.int(rx[1] - dx/1000,rx[2] + dx/1000,length.out=nb) } The dx/1000 is what makes cut()'s break different than a simple call to seq(). - Phil Spector Statistical Computing Facility Department of Statistics UC Berkeley spector at stat.berkeley.edu On Fri, 15 Oct 2010, Andrei Zorine wrote:> Hello, > My question is assuming I have cut()'ed my sample and look at the > table() of it, how can I compute probabilities for the bins? Do I have > to parse table's names() to fetch bin endpoints to pass them to > p[distr-name] functions? i really don't want to input arguments to PDF > functions by hand (nor copy-and-paste way). > >> x.fr <- table(cut(x,10)) >> x.fr > > (0.0617,0.549] (0.549,1.04] (1.04,1.52] (1.52,2.01] (2.01,2.5] > 16 28 26 18 6 > (2.5,2.99] (2.99,3.48] (3.48,3.96] (3.96,4.45] (4.45,4.94] > 3 2 0 0 1 > >> names(x.fr) > [1] "(0.0617,0.549]" "(0.549,1.04]" "(1.04,1.52]" "(1.52,2.01]" > [5] "(2.01,2.5]" "(2.5,2.99]" "(2.99,3.48]" "(3.48,3.96]" > [9] "(3.96,4.45]" "(4.45,4.94]" > > > -- > > Andrei Zorine > > ______________________________________________ > 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. >