Learn R Programming

roll (version 1.1.7)

roll_var: Rolling Variances

Description

A function for computing the rolling and expanding variances of time-series data.

Usage

roll_var(x, width, weights = rep(1, width), center = TRUE,
  min_obs = width, complete_obs = FALSE, na_restore = FALSE,
  online = TRUE)

Value

An object of the same class and dimension as x with the rolling and expanding variances.

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.

center

logical. If TRUE then the weighted mean of each variable is used, if FALSE then zero is used.

min_obs

integer. Minimum number of observations required to have a value within a window, otherwise result is NA.

complete_obs

logical. If TRUE then rows containing any missing values are removed, if FALSE then each value is used.

na_restore

logical. Should missing values be restored?

online

logical. Process observations using an online algorithm.

Details

The denominator used gives an unbiased estimate of the variance, so if the weights are the default then the divisor n - 1 is obtained.

Examples

Run this code
n <- 15
x <- rnorm(n)
weights <- 0.9 ^ (n:1)

# rolling variances with complete windows
roll_var(x, width = 5)

# rolling variances with partial windows
roll_var(x, width = 5, min_obs = 1)

# expanding variances with partial windows
roll_var(x, width = n, min_obs = 1)

# expanding variances with partial windows and weights
roll_var(x, width = n, min_obs = 1, weights = weights)

Run the code above in your browser using DataLab