| roll_var {MazamaRollUtils} | R Documentation |
Roll Variance
Description
Apply a moving-window variance function to a numeric vector.
Usage
roll_var(x, width = 1L, by = 1L, align = c("center", "left", "right"))
Arguments
x |
Numeric vector. |
width |
Integer width of the rolling window. |
by |
Integer shift by which the window is moved each iteration. |
align |
Character position of the return value within the window. One of:
|
Details
For every index in the incoming vector x, a value is returned that
is the variance of all values in x that fall within a window of width
width.
The align parameter determines the alignment of the return value
within the window. Thus:
align = -1 [*------]will cause the returned vector to have width-1NAvalues at the right end.align = 0 [---*---]will cause the returned vector to have width/2NAvalues at either end.align = 1 [------*]will cause the returned vector to have width-1NAvalues at the left end.
For large vectors, theby parameter can be used to force the window
to jump ahead by indices for the next calculation. Indices that are
skipped over will be assigned NA values so that the return vector still has
the same length as the incoming vector. This can dramatically speed up
calculations for high resolution time series data.
Value
Numeric vector of the same length as x.
Note
No na.rm argument is provided as interpretation of the results
is not at all clear.
Examples
library(MazamaRollUtils)
# Example air quality time series
t <- example_pm25$datetime
x <- example_pm25$pm25
x[1:10]
roll_var(x, width = 5)[1:10]