[R] aggregate months to years

Oehler, Friderike (AGPP) Friderike.Oehler at fao.org
Mon Jul 14 14:37:36 CEST 2008


Many thanks for the recent answers to my question about pattern recognition.
The hint to "grep" and the "pattern" argument brought me a big deal forward.

# Now, I have a data frame:

DATE <- c("1930-01-01", "1930-01-01", "1930-02-01", "1931-01-01",
"1931-02-01", "1931-03-01") # almost all months until "1999-12-01". Day is
always 01, the same months actually occur several times.
FREQ <- rep(1,6)
ex<- data.frame(DATE,FREQ)

# I can aggregate it like this:

ex <- tapply(ex$FREQ, ex$DATE, sum)

# or use"grep" to extract a single year:
# ex[grep(pattern="^1931", ex$DATE),]

# But how can I aggregate the years such that a barplot would show me the
FREQ per year and not per month?

barplot(as.vector(ex))

# Sorry for the bad example, of course my data.frame is much bigger and the
barplot gives me a nice monthly time series of events, but I really only want
the occurrences per year, not per month.

Grateful for your advice!
Friderike



More information about the R-help mailing list