Generic functions for computing rolling means, maximums, medians, and sums of ordered observations.
rollmean(x, k, fill = if (na.pad) NA, na.pad = FALSE,
align = c("center", "left", "right"), ...)rollmax(x, k, fill = if (na.pad) NA, na.pad = FALSE,
align = c("center", "left", "right"), ...)
rollmedian(x, k, fill = if (na.pad) NA, na.pad = FALSE,
align = c("center", "left", "right"), ...)
rollsum(x, k, fill = if (na.pad) NA, na.pad = FALSE,
align = c("center", "left", "right"), ...)
rollmeanr(..., align = "right")
rollmaxr(..., align = "right")
rollmedianr(..., align = "right")
rollsumr(..., align = "right")
an object (representing a series of observations).
integer width of the rolling window. Must be odd for rollmedian
.
a three-component vector or list (recycled otherwise) providing
filling values at the left/within/to the right of the data range.
See the fill
argument of na.fill
for details.
deprecated. Use fill = NA
instead of na.pad = TRUE
.
character specifying whether the index of the result should be left- or right-aligned or centered (default) compared to the rolling window of observations.
Further arguments passed to methods.
An object of the same class as x
with the rolling mean/max/median/sum.
These functions compute rolling means, maximums, medians, and sums respectively
and are thus similar to rollapply
but are
optimized for speed.
Currently, there are methods for "zoo"
and "ts"
series and
default methods. The default method of rollmedian
is an interface to runmed
.
The default methods of rollmean
and rollsum
do not handle inputs that contain
NA
s. In such cases, use rollapply
instead.
If x
is of length 0, x
is returned unmodified.
# NOT RUN {
x.Date <- as.Date(paste(2004, rep(1:4, 4:1), sample(1:28, 10), sep = "-"))
x <- zoo(rnorm(12), x.Date)
## rolling operations for univariate series
rollmean(x, 3)
rollmax(x, 3)
rollmedian(x, 3)
rollsum(x, 3)
## rolling operations for multivariate series
xm <- zoo(matrix(1:12, 4, 3), x.Date[1:4])
rollmean(xm, 3)
rollmax(xm, 3)
rollmedian(xm, 3)
rollsum(xm, 3)
## rollapply vs. dedicated rollmean
rollapply(xm, 3, mean) # uses rollmean
rollapply(xm, 3, function(x) mean(x)) # does not use rollmean
# }
Run the code above in your browser using DataLab