[R] Moving column averaging

Gabor Grothendieck ggrothendieck at gmail.com
Fri Dec 2 02:14:17 CET 2011


On Thu, Dec 1, 2011 at 7:13 PM, B77S <bps0002 at auburn.edu> wrote:
> # need zoo to use rollapply()
>
> # your data (I called df)
> df <- structure(list(a = 1:2, b = 2:3, c = c(5L, 9L), d = c(9L, 6L),
>    e = c(1L, 5L), f = c(4, 7)), .Names = c("a", "b", "c", "d",
> "e", "f"), class = "data.frame", row.names = c(NA, -2L))
>
> # transpose and make a zoo object
> df2 <- zoo(t(df))
>
> #rollapply to get means and transpose back
> means <- t(rollapply(df2, width=2, by=2, FUN=mean))
>
> # adding the combined column names you requested
> colnames(means) <- apply(matrix(names(df), nrow=2), 2, paste, collapse=", ")
>

Note that zoo's rollapply also works on plain matrices and vectors.

-- 
Statistics & Software Consulting
GKX Group, GKX Associates Inc.
tel: 1-877-GKX-GROUP
email: ggrothendieck at gmail.com



More information about the R-help mailing list