# rollmean: Rolling Means/Maximums/Medians/Sums In zoo: S3 Infrastructure for Regular and Irregular Time Series (Z's Ordered Observations)

 rollmean R Documentation

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

align = c("center", "left", "right"), ...)

align = c("center", "left", "right"), ...)

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.

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

### Examples

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

zoo documentation built on April 14, 2023, 12:39 a.m.