Lags and Differences of xts Objects

Share:

Description

Methods for computing lags and differences on xts objects. This matches most of the functionality of zoo methods, with some default argument changes.

Usage

1
2
3
4
5
6
7
## S3 method for class 'xts'
lag(x, k = 1, na.pad = TRUE, ...)



## S3 method for class 'xts'
diff(x, lag = 1, differences = 1, arithmetic = TRUE, log = FALSE, na.pad = TRUE, ...)

Arguments

x

an xts object

k

period to lag over

lag

period to difference over

differences

order of differencing

arithmetic

should arithmetic or geometric differencing be used

log

should (geometric) log differences be returned

na.pad

pad vector back to original size

...

additional arguments

Details

The primary motivation for having methods specific to xts was to make use of faster C-level code within xts. Additionally, it was decided that lag's default behavior should match the common time-series interpretation of that operator — specifically that a value at time ‘t’ should be the value at time ‘t-1’ for a positive lag. This is different than lag.zoo as well as lag.ts.

Another notable difference is that na.pad is set to TRUE by default, to better reflect the transformation visually and within functions requiring positional matching of data.

Backwards compatability with zoo can be achieved by setting options(xts.compat.zoo.lag=TRUE). This will change the defaults of lag.xts to k=-1 and na.pad=FALSE.

Value

An xts object reflected the desired lag and/or differencing.

Author(s)

Jeffrey A. Ryan

References

http://en.wikipedia.org/wiki/Lag

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
x <- xts(1:10, Sys.Date()+1:10)
lag(x)    # currently using xts-style positive k 


lag(x, k=2)


lag(x, k=-1, na.pad=FALSE) # matches lag.zoo(x, k=1)

diff(x)
diff(x, lag=1)
diff(x, diff=2)
diff(diff(x))

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