rapply

0th

Percentile

Apply Rolling Functions

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

Keywords
ts, array, iteration
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 NAs 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

Aliases
  • rapply
  • rapply.zoo
  • rapply.ts
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
Documentation reproduced from package zoo, version 0.9-9, License: GPL

Community examples

Looks like there are no examples yet.