rapply {zoo} | R Documentation |

## Apply Rolling Functions

### Description

A generic function for applying a function to rolling margins of an array.

### Usage

rapply(data, width, FUN, by = 1, ascending = TRUE, by.column = TRUE,
na.pad = FALSE, align = c("center", "left", "right"), ...)

### Arguments

`data` |
the data to be used (representing a series of observations). |

`width` |
number of points per group. |

`FUN` |
the function to be applied.
In the case of functions like `+` , `%*%` , etc., the
function name must be quoted. |

`by` |
calculate FUN for trailing width points at every by-th time
point. |

`ascending` |
logical. If TRUE then points are passed to `FUN` in
ascending order of time; otherwise, they are passed in descending order. |

`by.column` |
logical. If `TRUE` , `FUN` is applied to each column separately. |

`na.pad` |
logical. If `TRUE`
then additional elements or rows of `NA` s are added so that
result has same number of elements or rows as `data` . |

`align` |
character specifying whether result should be left- or
right-aligned or centered (default). |

`...` |
optional arguments to `FUN` . |

### Details

Groups time points in successive sets of `width`

time points and
applies `FUN`

to the corresponding values. If `FUN`

is
`mean`

, `max`

or `median`

and `by.column`

is
`TRUE`

and there are no extra arguments
then special purpose code is used to enhance performance.
See `rollmean`

, `rollmax`

and `rollmedian`

for more details.

Currently, there are methods for `"zoo"`

and `"ts"`

series.

### Value

A object of the same class as `data`

with the results of the rolling function.

### See Also

`rollmean`

### Examples

z <- zoo(11:15, as.Date(31:35))
rapply(z, 2, mean)
z2 <- zoo(rnorm(6))
rapply(z2, 3, mean, by = 3) # means of nonoverlapping groups of 3
aggregate(z2, c(3,3,3,6,6,6), mean) # same
rapply(z2, 3, mean) # uses rollmean which is optimized for mean
rollmean(z2, 3) # same
rapply(z2, 3, (mean)) # does not use rollmean

[Package

*zoo* version 1.0-5

Index]