Store your 'matrix' as a data frame. Call it 'SchoolVals' say.
Then
SchoolMeans <- with(SchoolVals, tapply(value, school, mean))
should do it. If you have missing values you want to ignore:
SchoolMeans <- with(SchoolVals, tapply(value, school, mean, na.rm = TRUE))
Bill Venables
cmis.csiro.au/bill.venables
-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org]
On Behalf Of cindy Guo
Sent: Monday, 9 February 2009 1:32 PM
To: r-help at r-project.org
Subject: [R] question about mean
Hello, everyone,
I have a matrix like following:
school value
A .1
A .2
A .15
A .2
B .3
B .5
C .3
C .3
C .4
C .5
C .6
C .9
C 1
I want to get the mean 'value' for each 'school', but each
school has
different length. Is there any way to do this fast? Because my data has
hundreds of thousands of rows.
Thank you,
Cindy
[[alternative HTML version deleted]]
______________________________________________
R-help at r-project.org mailing list
stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.