
Last chance! 50% off unlimited learning
Sale ends in
roll_mean(data, width, weights = rep(1, width), min_obs = width, complete_obs = FALSE, na_restore = FALSE, parallel_for = c("rows", "cols"))
TRUE
then rows containing any missing values are removed,
if FALSE
then each value is used.rows
or cols
.data
with the rolling means.
setThreadOptions
for thread options via RcppParallel.
n_vars <- 10
n_obs <- 1000
data <- matrix(rnorm(n_obs * n_vars), nrow = n_obs, ncol = n_vars)
# 252-day rolling mean
result <- roll_mean(data, 252)
# Equivalent to 'na.rm = TRUE'
result <- roll_mean(data, 252, min_obs = 1)
# Expanding window
result <- roll_mean(data, n_obs, min_obs = 1)
# Exponential decay
weights <- 0.9 ^ (251:0)
result <- roll_mean(data, 252, weights, min_obs = 1)
Run the code above in your browser using DataLab