[R] count() function
Christopher R. Dolanc
crdolanc at ucdavis.edu
Fri Apr 6 20:21:06 CEST 2012
Yes, I just tried the length() function and it worked beautifully.
Thank you.
On 4/5/2012 6:01 PM, William Dunlap wrote:
> I think you are looking for the function called length(). I cannot recreate
> your output, since I don't know what is in NZ_Conifers, but with the built-in
> dataset mtcars I get:
>
> > ddply(mtcars, .(cyl,gear,carb), summarize, MeanWt=mean(wt), N=length(wt))
> cyl gear carb MeanWt N
> 1 4 3 1 2.46500 1
> 2 4 4 1 2.07250 4
> 3 4 4 2 2.68375 4
> 4 4 5 2 1.82650 2
> 5 6 3 1 3.33750 2
> 6 6 4 4 3.09375 4
> 7 6 5 6 2.77000 1
> 8 8 3 2 3.56000 4
> 9 8 3 3 3.86000 3
> 10 8 3 4 4.68580 5
> 11 8 5 4 3.17000 1
> 12 8 5 8 3.57000 1
> > with(mtcars, sum(cyl==8& gear==3& carb==4)) # output line 10
> [1] 5
>
> If all you want is the count of things in various categories, you can use table
> instead of ddply and length:
> > with(mtcars, table(cyl, gear, carb))
> , , carb = 1
>
> gear
> cyl 3 4 5
> 4 1 4 0
> 6 2 0 0
> 8 0 0 0
>
> , , carb = 2
>
> gear
> cyl 3 4 5
> 4 0 4 2
> 6 0 0 0
> 8 4 0 0
> ...
>
> Using ftable on table's output gives a nicer looking printout, but table's output is easier
> to use in a program.
>
> Bill Dunlap
> Spotfire, TIBCO Software
> wdunlap tibco.com
>
>
>> -----Original Message-----
>> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf
>> Of Christopher R. Dolanc
>> Sent: Thursday, April 05, 2012 12:16 PM
>> To: r-help at r-project.org
>> Subject: [R] count() function
>>
>> I keep expecting R to have something analogous to the =count function in
>> Excel, but I can't find anything. I simply want to count the data for a
>> given category.
>>
>> I've been using the ddply() function in the plyr package to summarize
>> means and st dev of my data, with this code:
>>
>> ddply(NZ_Conifers,.(ElevCat, DataSource, SizeClass), summarise,
>> avgDensity=mean(Density), sdDensity=sd(Density), n=sum(Density))
>>
>> and that gives me results that look like this:
>>
>> ElevCat DataSource SizeClass avgDensity sdDensity n
>> 1 Elev1 FIA Class1 38.67768 46.6673478 734.87598
>> 2 Elev1 FIA Class2 27.34096 23.3232470 820.22879
>> 3 Elev1 FIA Class3 15.38758 0.7088432 76.93790
>> 4 Elev1 VTM Class1 66.37897 70.2050817 24958.49284
>> 5 Elev1 VTM Class2 39.40786 34.9343269 11782.95152
>> 6 Elev1 VTM Class3 21.17839 12.3487600 1461.30895
>>
>> But, instead of "sum(Density)", I'd really like counts of "Density", so
>> that I know the sample size of each group. Any suggestions?
>>
>> --
>> Christopher R. Dolanc
>> Post-doctoral Researcher
>> University of California, Davis
>>
>> ______________________________________________
>> 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.
--
Christopher R. Dolanc
Post-doctoral Researcher
University of California, Davis
More information about the R-help
mailing list