Learn R Programming

xts (version 0.10-0)

diff.xts: Lags and Differences of xts Objects

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

# S3 method for xts
lag(x, k = 1, na.pad = TRUE, ...)

# S3 method for 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

Value

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

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.

References

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

Examples

Run this code
# NOT RUN {
x <- xts(1:10, Sys.Date()+1:10)
lag(x)    # currently using xts-style positive k 
# }
# NOT RUN {
<!-- %lagts(x)  # same as original lag.xts, to allow for lag.xts to revert to R lag consistency -->
# }
# NOT RUN {
lag(x, k=2)
# }
# NOT RUN {
<!-- %lagts(x, k=2) -->
# }
# NOT RUN {
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))
# }

Run the code above in your browser using DataLab