# rollmean

##### Rolling Means/Maximums/Medians/Sums

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

- Keywords
- ts

##### 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.- 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.

##### 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.

##### Value

An object of the same class as `x`

with the rolling mean/max/median/sum.

##### See Also

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

*Documentation reproduced from package zoo, version 1.8-8, License: GPL-2 | GPL-3*