Given a monthly ts object such as this:
dat <- ts(c(295, 286, 300, 278, 272, 268, 308, 321, 313, 308, 291, 296,
294, 273, 300, 271, 282, 285, 318, 323, 3
Ok, so I should given Google one more search before coming to SO as this post is relevant. The cycle()
function appears to be useful for these sorts of things:
> tapply(dat, cycle(dat), mean)
1 2 3 4 5 6 7 8 9
295.33333 277.33333 298.00000 269.33333 276.66667 282.33333 314.00000 323.00000 313.66667
10 11 12
310.33333 291.33333 296.66667
> aggregate(c(dat), list(month = cycle(dat)), mean)
month x
1 1 295.33333
2 2 277.33333
3 3 298.00000
....
Anything else fundamental I'm missing here?