Learn R Programming

stats (version 3.3.3)

window: Time Windows

Description

window is a generic function which extracts the subset of the object x observed between the times start and end. If a frequency is specified, the series is then re-sampled at the new frequency.

Usage

window(x, …)
# S3 method for ts
window(x, …)
# S3 method for default
window(x, start = NULL, end = NULL,
      frequency = NULL, deltat = NULL, extend = FALSE, …)

window(x, …) <- value # S3 method for ts window(x, start, end, frequency, deltat, …) <- value

Arguments

x
a time-series (or other object if not replacing values).
start
the start time of the period of interest.
end
the end time of the period of interest.
frequency, deltat
the new frequency can be specified by either (or both if they are consistent).
extend
logical. If true, the start and end values are allowed to extend the series. If false, attempts to extend the series give a warning and are ignored.
further arguments passed to or from other methods.
value
replacement values.

Value

The value depends on the method. window.default will return a vector or matrix with an appropriate tsp attribute. window.ts differs from window.default only in ensuring the result is a ts object. If extend = TRUE the series will be padded with NAs if needed.

Details

The start and end times can be specified as for ts. If there is no observation at the new start or end, the immediately following (start) or preceding (end) observation time is used. The replacement function has a method for ts objects, and is allowed to extend the series (with a warning). There is no default method.

References

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

See Also

time, ts.

Examples

Run this code
window(presidents, 1960, c(1969,4)) # values in the 1960's
window(presidents, deltat = 1)  # All Qtr1s
window(presidents, start = c(1945,3), deltat = 1)  # All Qtr3s
window(presidents, 1944, c(1979,2), extend = TRUE)

pres <- window(presidents, 1945, c(1949,4)) # values in the 1940's
window(pres, 1945.25, 1945.50) <- c(60, 70)
window(pres, 1944, 1944.75) <- 0 # will generate a warning
window(pres, c(1945,4), c(1949,4), frequency = 1) <- 85:89
pres

Run the code above in your browser using DataLab