Lag {quantmod}R Documentation

Lag a Time Series


Create a lagged series from data, with NA used to fill.


Lag(x, k = 1)

## S3 method for class 'quantmod.OHLC':
Lag(x, k = 1)

## S3 method for class 'zoo':
Lag(x, k = 1)

## S3 method for class 'data.frame':
Lag(x, k = 1)

## S3 method for class 'numeric':
Lag(x, k = 1)


x vector or series to be lagged
k periods to lag.


Shift series k-periods down, prepending NAs to front of series.

Specifically designed to handle quantmod.OHLC and zoo series within the quantmod workflow.

If no S3 method is found, a call to lag in base is made.


The original x prepended with k NAs and missing the trailing k values.
The returned series maintains the number of obs. of the original.


This function differs from lag by returning the original series modified, as opposed to simply changing the time series properties. It differs from the like named Lag in the Hmisc as it deals primarily with time-series like objects.

It is important to realize that if there is no applicable method for Lag, the value returned will be from lag in base. That is, coerced to 'ts' if necessary, and subsequently shifted.


Jeffrey A. Ryan

See Also



Stock.Close <- c(102.12,102.62,100.12,103.00,103.87,103.12,105.12)
Close.Dates <- as.Date(c(10660,10661,10662,10665,10666,10667,10668),origin="1970-01-01")
Stock.Close <- zoo(Stock.Close,Close.Dates)

Lag(Stock.Close)        #lag by 1 period
Lag(Stock.Close,k=1)    #same
Lag(Stock.Close,k=1:3)  #lag 1,2 and 3 periods

[Package quantmod version 0.3-6 Index]