Re: [R] basic problem but can't solve it

From: Gavin Simpson <gavin.simpson_at_ucl.ac.uk>
Date: Tue, 22 May 2007 18:21:24 +0100

On Tue, 2007-05-22 at 19:01 +0200, Benoit Chemineau wrote:
> Hello,
> I have a basic problem but i can't figure it out with the
> table underneath. I would like to compute monthly averages.
> I would like to have the average measure for month #5 for the first
> three rows (the same number in the first three lines) and the average
> measure for month #6 for the last four rows ((the same number in the first
> three lines) in a separate vesctor (let's call it 'result')
> I tried to use a "while" statement inside a "for" loop but it doesn't
> seem to work.
> Can someone please help me with this ?
>
> Measure Month
> 2.28 5
> 14.04 5
> 0.60 5
> 0.21 6
> 0.96 6
> 0.75 6
> 1.28 6

If dat is a data frame containing your data:

> dat

  Measure Month

1    2.28     5
2   14.04     5
3    0.60     5
4    0.21     6
5    0.96     6
6    0.75     6
7    1.28     6

> aggregate(dat$Measure, by = list(Month = dat$Month), mean)
  Month x

1     5 5.64
2     6 0.80

> tapply(dat$Measure, dat$Month, mean)

   5 6
5.64 0.80

see ?aggregate and ?tapply for two solutions. The tapply one seems cleaner and easier to get the vector you need, the aggregate version needs an extra step:

aggregate(dat$Measure, by = list(Month = dat$Month), mean)$x

                                                          ^^
Note the $x at the end to subset the object returned by aggregate

HTH G

-- 
%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
 Gavin Simpson                 [t] +44 (0)20 7679 0522
 ECRC, UCL Geography,          [f] +44 (0)20 7679 0565
 Pearson Building,             [e] gavin.simpsonATNOSPAMucl.ac.uk
 Gower Street, London          [w] http://www.ucl.ac.uk/~ucfagls/
 UK. WC1E 6BT.                 [w] http://www.freshwaters.org.uk
%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%

______________________________________________
R-help_at_stat.math.ethz.ch 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.
Received on Tue 22 May 2007 - 19:00:41 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Tue 22 May 2007 - 19:31:23 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.