diff                  package:base                  R Documentation

Lagged Differences

Description:

     Returns suitably lagged and iterated differences.

Usage:

     diff(x, ...)
     diff.default(x, lag=1, differences=1, ...)

Arguments:

       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.

     ...: further arguments to be passed to or from methods.

Details:

     `diff' is a generic function with a default method and one for
     class `ts' objects.  `NA''s propagate.

Value:

     If `x' is a vector of length `n' and `differences=1', then the
     computed result is equal to the successive differences
     `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.

See Also:

     `diff.ts'.

Examples:

     diff(1:10, 2)
     diff(1:10, 2, 2)
     x <- cumsum(cumsum(1:10))
     stopifnot(diff(x, lag = 2) == x[(1+2):10] - x[1:(10 - 2)],
               diff(x, lag = 2) == (3:10)^2,
               diff(diff(x))    == diff(x, differences = 2))

