| roll_scale | R Documentation |
A function for computing the rolling and expanding scaling and centering of time-series data.
roll_scale(x, width, weights = rep(1, width), center = TRUE,
scale = TRUE, min_obs = width, complete_obs = FALSE,
na_restore = FALSE, online = TRUE)
x |
vector or matrix. Rows are observations and columns are variables. |
width |
integer. Window size. |
weights |
vector. Weights for each observation within a window. |
center |
logical. If |
scale |
logical. If |
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. |
If center is TRUE then centering is done by subtracting the weighted mean from
each variable, if FALSE then zero is used. After centering, if scale is TRUE then
scaling is done by dividing by the weighted standard deviation for each variable if center is
TRUE, and the root mean square otherwise. If scale is FALSE then no scaling is
done.
The denominator used gives an unbiased estimate of the standard deviation,
so if the weights are the default then the divisor n - 1 is obtained.
An object of the same class and dimension as x with the rolling and expanding
scaling and centering.
n <- 15
x <- rnorm(n)
weights <- 0.9 ^ (n:1)
# rolling z-scores with complete windows
roll_scale(x, width = 5)
# rolling z-scores with partial windows
roll_scale(x, width = 5, min_obs = 1)
# expanding z-scores with partial windows
roll_scale(x, width = n, min_obs = 1)
# expanding z-scores with partial windows and weights
roll_scale(x, width = n, min_obs = 1, weights = weights)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.