| 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)