lag {plm}R Documentation

lag, lead, and diff for panel data

Description

lag, lead, and diff functions for class pseries.

Usage

## S3 method for class 'pseries'
lag(x, k = 1, ...)
## S3 method for class 'pseries'
lead(x, k = 1, ...)
## S3 method for class 'pseries'
diff(x, lag = 1, ...)

Arguments

x

a pseries object,

k

an integer vector, the number of lags for the lag and lead methods (can also be negative). For the lag method, a positive (negative) k gives lagged (leading) values. For the lead method, a positive (negative) k gives leading (lagged) values, thus, lag(x, k = -1) yields the same as lead(x, k = 1). If k is an integer vector with length > 1 (k = c(k1, k2, ...)) a matrix with multiple lagged pseries is returned,

lag

the number of lags for the diff method (only non–negative values for parameter lag are allowed in diff),

...

further arguments.

Value

These functions return an object of class pseries except if lag (thus also lead) is called with more than one lag (lead), i. e. length(k) > 1, a matrix is returned.

Note

The sign of k in lag.pseries results in inverse behavior compared to lag and lag.zoo.

Author(s)

Yves Croissant

See Also

For further function for 'pseries' objects: between, Between, Within, summary.pseries, print.summary.pseries, as.matrix.pseries. To check if the time periods are consecutive per individual, see is.pconsecutive.

Examples

# First, create a pdata.frame
data("EmplUK", package = "plm")
Em <- pdata.frame(EmplUK)

# Then extract a series, which becomes additionally a pseries
z <- Em$output
class(z)

# compute the first and third lag, and the difference lagged twice
lag(z)
lag(z, 3)
diff(z, 2)

# compute negative lags (= leading values)
lag(z, -1)
lead(z, 1) # same as line above
identical(lead(z, 1), lag(z, -1)) # TRUE
 
# compute more than one lag at once
lag(z, c(1,2))

[Package plm version 1.6-5 Index]