lag.xts {xts} | R Documentation |
Lags and Differences of xts Objects
Description
Methods for computing lags and differences on xts objects. This provides similar functionality as the zoo counterparts, but with some different defaults.
Usage
## 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 |
Number of periods to shift. |
na.pad |
Should |
... |
Additional arguments. |
lag |
Period to difference over. |
differences |
Order of differencing. |
arithmetic |
Should arithmetic or geometric differencing be used? |
log |
Should (geometric) log differences be returned? |
Details
The primary motivation for these methods was to take advantage of a faster
C-level implementation. Another motivation was to make lag()
behave using
standard sign for k
. Both lag.zoo()
and lag.default()
require a
negative value for k
in order to shift a series backward. So k = 1
,
shifts the series forward one observation. This is especially confusing
because k = 1
is the default for those functions. When x
is an xts
object, lag(x, 1)
returns an object where the value at time 't' is the
value at time 't-1' in the original object.
Another difference is that na.pad = TRUE
by default, to better reflect the
transformation visually and for functions the require positional alignment
of data.
Set options(xts.compat.zoo.lag = TRUE)
to use make lag.xts()
consistent
with lag.zoo()
by reversing the sign of k
and setting na.pad = FALSE
.
Value
An xts object with the desired lag and/or differencing.
Author(s)
Jeffrey A. Ryan
References
https://en.wikipedia.org/wiki/Lag
Examples
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))