Skip to contents

Tumbling Windows

Usage

window_tumbling(n, m, ...)

# S4 method for class 'integer,integer'
window_tumbling(n, m, drop = FALSE)

# S4 method for class 'numeric,numeric'
window_tumbling(n, m, drop = FALSE)

Arguments

n

An integer giving the length of the data series (will be coerced with as.integer() and hence truncated toward zero).

m

An integer giving the window size, i.e. the number of adjacent points to be used (will be coerced with as.integer() and hence truncated toward zero).

...

Currently not used.

drop

A logical scalar: if m is not a multiple of n, should the last data points be removed so that all windows have the same length?

Value

Returns a list of integer vectors (indices of the data points in each window).

See also

Other moving windows: window_sliding()

Author

N. Frerebeau

Examples

## Length of the data series
n <- 10

## Progressive sliding windows
sliding <- window_sliding(n = n, m = 5)

plot(NULL, xlim = c(1, n), ylim = c(1, 10.5), xlab = "Index", ylab = "Window")
for (i in seq_along(sliding)) {
  w <- sliding[[i]]
  text(x = w, y = rep(i, length(w)), labels = w, pos = 3)
  lines(w, rep(i, length(w)), type = "l", lwd = 2)
}


## Tumbling windows
## (compare with drop = TRUE)
tumbling <- window_tumbling(n = n, m = 3, drop = FALSE)

plot(NULL, xlim = c(1, n), ylim = c(1, 5.5), xlab = "Index", ylab = "Window")
for (i in seq_along(tumbling)) {
  w <- tumbling[[i]]
  text(x = w, y = rep(i, length(w)), labels = w, pos = 3)
  lines(w, rep(i, length(w)), type = "l", lwd = 2)
}