Lag a Time Series


lag creates a lagged version of a time series, shifting the time base forward by a given number of observations. Lag does exactly the opposite, shifting the time base backwards by the given number of observations. lag and Lag create a single lagged series, while lags and Lags can create a multivariate series with several lags at once.


## S3 method for class 'tis'
lag(x, k = 1, ...)

Lag(x, k = 1, ...)
lags(x, lags, name = "")
Lags(x, lags, name = "")



A vector or matrix or univariate or multivariate time series (including tis series)


The number of lags. For lag, this is the number of time periods that the series is shifted forward, while for Lag it is the number of periods that the series is shifted backwards.


further arguments to be passed to or from methods


vector of lag numbers. For code lags, each element gives a number of periods by which x is to be shifted forward, while for Lags, each element gives a number of periods by which x is to be shifted backwards.


string or a character vector of names to be used in constructing column names for the returned series


Vector or matrix arguments 'x' are coerced to time series.

For lags, column names are constructed as follows: If name is supplied and has as many elements as x has columns, those names are used as the base column names. Otherwise the column names of x comprise the base column names, or if those don't exist, the first ncols(x) letters of the alphabet are used as base names. Each column of the returned series has a name consisting of the basename plus a suffix indicating the lag number for that column.


Both functions return a time series (ts or tis) object. If the lags argument to the lags function argument has more than one element, the returned object will have a column for each lag, with NA's filling in where appropriate.

Want to suggest features or report bugs for Use the GitHub issue tracker.