base (version 3.6.2)

# diff: Lagged Differences

## Description

Returns suitably lagged and iterated differences.

## Usage

```diff(x, …)# S3 method for default
diff(x, lag = 1, differences = 1, …)# S3 method for POSIXt
diff(x, lag = 1, differences = 1, …)# S3 method for Date
diff(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.

## 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.

## Details

`diff` is a generic function with a default method and ones for classes `"ts"`, `"POSIXt"` and `"Date"`.

`NA`'s propagate.

## References

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

## See Also

`diff.ts`, `diffinv`.

## Examples

Run this code
``````# NOT RUN {
diff(1:10, 2)
diff(1:10, 2, 2)
x <- cumsum(cumsum(1:10))
diff(x, lag = 2)
diff(x, differences = 2)

diff(.leap.seconds)
# }
``````

Run the code above in your browser using DataCamp Workspace