blob: c84065ba651583f45b0f1fedb23a160c0781e1f5 [file] [log] [blame]
% File src/library/stats/man/window.Rd
% Part of the R package, https://www.R-project.org
% Copyright 1995-2022 R Core Team
% Distributed under GPL 2 or later
\name{window}
\title{Time (Series) Windows}
\alias{window}
\alias{window.default}
\alias{window.ts}
\alias{window<-}
\alias{window<-.ts}
\usage{
window(x, \dots)
\method{window}{ts}(x, \dots)
\method{window}{default}(x, start = NULL, end = NULL,
frequency = NULL, deltat = NULL, extend = FALSE, ts.eps = getOption("ts.eps"), \dots)
window(x, \dots) <- value
\method{window}{ts}(x, start, end, frequency, deltat, \dots) <- value
}
\arguments{
\item{x}{a time-series (or other object if not replacing values).}
\item{start}{the start time of the period of interest.}
\item{end}{the end time of the period of interest.}
\item{frequency, deltat}{the new frequency can be specified by either
(or both if they are consistent).}
\item{extend}{logical. If true, the \code{start} and \code{end} values
are allowed to extend the series. If false, attempts to extend the
series give a warning and are ignored.}
\item{ts.eps}{time series comparison tolerance. Frequencies are
considered equal if their absolute difference is less than
\code{ts.eps} and boundaries (length-1 versions of \code{start} and
\code{end}) are checked with fuzz \code{ts.eps/frequency(x)}.}
\item{\dots}{further arguments passed to or from other methods.}
\item{value}{replacement values.}
}
\description{
\code{window} is a generic function which
extracts the subset of the object \code{x}
observed between the times \code{start} and \code{end}. If a
frequency is specified, the series is then re-sampled at the new
frequency.
}
\details{
The start and end times can be specified as for \code{\link{ts}}. If
there is no observation at the new \code{start} or \code{end},
the immediately following (\code{start}) or preceding (\code{end})
observation time is used.
The replacement function has a method for \code{ts} objects, and
is allowed to extend the series (with a warning). There is no default
method.
}
\value{
The value depends on the method. \code{window.default} will return a
vector or matrix with an appropriate \code{\link{tsp}} attribute.
\code{window.ts} differs from \code{window.default} only in
ensuring the result is a \code{ts} object.
If \code{extend = TRUE} the series will be padded with \code{NA}s if
needed.
}
\references{
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988)
\emph{The New S Language}.
Wadsworth & Brooks/Cole.
}
\seealso{\code{\link{time}}, \code{\link{ts}}.}
\examples{
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
}
\keyword{ts}