Returns suitably lagged and iterated differences using arbitrary difference functions.
gdiff(x, lag = 1L, differences = 1L, FUN = `-`, ...)
x | a numeric vector or matrix containing the values to be differenced. |
---|---|
lag | an integer indicating which lag to use. |
differences | an integer indicating the order of the difference. |
FUN | A distance function that accepts two parameters |
... | further arguments to be passed to or from methods. |
If x is a vector of length n
and differences = 1
, then
the computed result is equal to the successive differences
FUN(x[(1+lag):n], x[1:(n-lag)])
.
If difference
is larger than one this algorithm is applied
recursively to x
. Note that the returned value is a vector which is
shorter than x
.
If x
is a matrix then the difference operations are carried out on each
column separately.
gdiff(1:4)#> [1] 1 1 1gdiff(1:4, FUN = `/`)#> [1] 2.000000 1.500000 1.333333