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-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On
Behalf
Of Christopher R. Dolanc
Sent: Thursday, April 05, 2012 12:16 PM
To: r-help@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@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
______________________________________________
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.