rollmean {zoo}R Documentation

Rolling Means/Maximums/Medians


Generic functions for computing rolling means, maximums and medians of ordered observations.


rollmean(x, k, na.pad = FALSE, align = c("center", "left", "right"), ...)
rollmax(x, k, na.pad = FALSE, align = c("center", "left", "right"), ...)
rollmedian(x, k, na.pad = FALSE, align = c("center", "left", "right"), ...)


x an object (representing a series of observations).
k integer width of the rolling window. Must be odd for rollmedian.
na.pad logical. Should NA padding be added at beginning?
align character specifying whether result should be left- or right-aligned or centered (default).
... Further arguments passed to methods.


These functions compute rolling means, maximums and medians respectively and are thus similar to rapply but are optimized for speed.

Currently, there are methods for "zoo" and "ts" series and default methods (intended for vectors). The default method of rollmedian is an interface to runmed. The default method of rollmean does not handle inputs that contain NAs. In such cases, use rapply instead.


An object of the same class as x with the rolling mean/max/median.

See Also

rapply, zoo


x.Date <- as.Date(paste(2004, rep(1:4, 4:1), sample(1:28, 10), sep = "-"))
x <- zoo(rnorm(12), x.Date)

rollmean(x, 3)
rollmax(x, 3)
rollmedian(x, 3)

xm <- zoo(matrix(1:12, 4, 3), x.Date[1:4])
rollmean(xm, 3)
rollmax(xm, 3)
rollmedian(xm, 3)

rapply(xm, 3, mean) # uses rollmean
rapply(xm, 3, function(x) mean(x)) # does not use rollmean

[Package zoo version 1.0-5 Index]