rapply {zoo} | R Documentation |
A generic function for applying a function to rolling margins of an array.
rapply(data, width, FUN, by = 1, ascending = TRUE, by.column = TRUE, na.pad = FALSE, align = c("center", "left", "right"), ...)
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 . |
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.
A object of the same class as data
with the results of the rolling function.
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