roll_quantile {roll} | R Documentation |
Rolling Quantiles
Description
A function for computing the rolling and expanding quantiles of time-series data.
Usage
roll_quantile(x, width, weights = rep(1, width), p = 0.5,
min_obs = width, complete_obs = FALSE, na_restore = FALSE,
online = FALSE)
Arguments
x |
vector or matrix. Rows are observations and columns are variables. |
width |
integer. Window size. |
weights |
vector. Weights for each observation within a window. |
p |
numeric. Probability between zero and one. |
min_obs |
integer. Minimum number of observations required to have a value within a window,
otherwise result is |
complete_obs |
logical. If |
na_restore |
logical. Should missing values be restored? |
online |
logical. Process observations using an online algorithm. |
Details
The methodology for computing the quantiles is based on the inverse of the empirical distribution function with averaging at discontinuities (see "Definition 2" in Hyndman and Fan, 1996).
Value
An object of the same class and dimension as x
with the rolling and expanding
quantiles.
References
Hyndman, R.J. and Fan, Y. (1996). "Sample quantiles in statistical packages." American Statistician, 50(4), 361-365.
Examples
n <- 15
x <- rnorm(n)
weights <- 0.9 ^ (n:1)
# rolling quantiles with complete windows
roll_quantile(x, width = 5)
# rolling quantiles with partial windows
roll_quantile(x, width = 5, min_obs = 1)
# expanding quantiles with partial windows
roll_quantile(x, width = n, min_obs = 1)
# expanding quantiles with partial windows and weights
roll_quantile(x, width = n, min_obs = 1, weights = weights)