Returns suitably lagged and iterated differences using arbitrary difference functions.
Value
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.