zoo (version 1.8-9)

# rollmean: Rolling Means/Maximums/Medians/Sums

## Description

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

## Usage

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

## Arguments

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.

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.

## Value

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

## Details

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.

`rollapply`, `zoo`, `na.fill`

## Examples

```# 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
# }
```