roll_crossprod {roll} | R Documentation |
Rolling Crossproducts
Description
A function for computing the rolling and expanding crossproducts of time-series data.
Usage
roll_crossprod(x, y = NULL, width, weights = rep(1, width),
center = FALSE, scale = FALSE, min_obs = width, complete_obs = TRUE,
na_restore = FALSE, online = TRUE)
Arguments
x |
vector or matrix. Rows are observations and columns are variables. |
y |
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. |
Value
A cube with each slice the rolling and expanding crossproducts.
Examples
n <- 15
x <- rnorm(n)
y <- rnorm(n)
weights <- 0.9 ^ (n:1)
# rolling crossproducts with complete windows
roll_crossprod(x, y, width = 5)
# rolling crossproducts with partial windows
roll_crossprod(x, y, width = 5, min_obs = 1)
# expanding crossproducts with partial windows
roll_crossprod(x, y, width = n, min_obs = 1)
# expanding crossproducts with partial windows and weights
roll_crossprod(x, y, width = n, min_obs = 1, weights = weights)