[Rd] calculating means per group
Kjell Konis
kjell.konis at epfl.ch
Thu Sep 4 10:06:04 CEST 2008
Hi Luc,
First of all, questions like this should really be asked on the R-help
mailing list.
The tapply function does what you want:
> year
[1] 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2
Levels: 1 2
> area
[1] a a a a a b b b b a a a a b b b b b
Levels: a b
> value
[1] 20 25 28 31 23 25 28 23 19 25 23 24 26 27 28 20 25 28
Note that both year and area are factors.
Get the mean for each area:
> tapply(value, area, mean)
a b
25.00000 24.77778
If you make the second argument a list then you can subset on both
factor columns:
> tapply(value, list(year, area), mean)
a b
1 25.4 23.75
2 24.5 25.60
Kjell
On 4 sept. 08, at 09:06, RFTW wrote:
>
> Hi all
> I have a very basic question, yet i have not found how to do it.
>
> Suppose my dataset looks like this:
>
> Year Area value
> 1 a 20
> 1 a 25
> 1 a 28
> 1 a 31
> 1 a 23
> 1 b 25
> 1 b 28
> 1 b 23
> 1 b 19
> 2 a 25
> 2 a 23
> 2 a 24
> 2 a 26
> 2 b 27
> 2 b 28
> 2 b 20
> 2 b 25
> 2 b 28
>
>
> Now, i want to calculate a MEAN per year per area. How do i do that?
>
> With mean(value) i calculate the mean of all values of course. I
> just need
> to know how to group year and area correctly.
>
> I assume that i can use this grouping in other calculations too,
> right?
>
>
> Cheers,
>
> Luc
> --
> View this message in context: http://www.nabble.com/calculating-means-per-group-tp19271479p19271479.html
> Sent from the R devel mailing list archive at Nabble.com.
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
More information about the R-devel
mailing list