zoo (version 0.9-9)

rollmean: Rolling Means/Maximums/Medians

Description

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

Usage

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"), ...)

Arguments

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.

Value

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

Details

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.

See Also

rapply, zoo

Examples

Run this code
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

Run the code above in your browser using DataCamp Workspace