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

x

an object (representing a series of observations).

k

integer width of the rolling window. Must be odd for `rollmedian`

.

fill

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.

na.pad

deprecated. Use `fill = NA`

instead of `na.pad = TRUE`

.

align

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 { suppressWarnings(RNGversion("3.5.0")) set.seed(1) 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 # }