vcovPL {sandwich} | R Documentation

## Clustered Covariance Matrix Estimation for panel data

### Description

Estimation of sandwich covariances a la Newey-West (1987) and Driscoll and Kraay (1998) for panel data.

### Usage

    vcovPL(x, cluster = NULL, order.by = NULL,
      kernel = "Bartlett", sandwich = TRUE, fix = FALSE, ...)

    meatPL(x, cluster = NULL, order.by = NULL,
      kernel = "Bartlett", lag = "NW1987", bw = NULL,
      adjust = TRUE, ...)

### Arguments

`x` | a fitted model object.
`cluster` | a variable indicating the clustering of observations or a `list` (or `data.frame`) thereof. By default, either `attr(x, "cluster")` is used. If that is also `NULL` each observation is its own cluster.
`order.by` | a variable indicating the aggregation within time periods.
`kernel` | a character specifying the kernel used. All kernels described in Andrews (1991) are supported, see `kweights`.
`lag` | character or numeric, indicating the lag length used. Three rules of thumb (`"max"` or equivalently `"P2009"`, `"NW1987"`, or `"NW1994"`) can be specified, or a numeric number of lags can be specified directly. By default, `"NW1987"` is used.
`bw` | numeric. The bandwidth of the kernel which by default corresponds to `lag + 1`. Only one of `lag` and `bw` should be used.
`sandwich` | logical. Should the sandwich estimator be computed? If set to `FALSE` only the meat matrix is returned.
`fix` | logical. Should the covariance matrix be fixed to be positive semi-definite in case it is not?
`adjust` | logical. Should a finite sample adjustment be made? This amounts to multiplication with n/(n - k) where n is the number of observations and k is the number of estimated parameters.
`...` | arguments passed to the `metaPL` or `estfun` function, respectively.

### Details

`vcovPL` is a function for estimating the Newey-West (1987) and Driscoll and Kraay (1998) covariance matrix. Driscoll and Kraay (1998) apply a Newey-West type correction to the sequence of cross-sectional averages of the moment conditions (see Hoechle (2007)). For large T (and regardless of the length of the cross-sectional dimension), the Driscoll and Kraay (1998) standard errors are robust to general forms of cross-sectional and serial correlation (Hoechle (2007)). The Newey-West (1978) covariance matrix restricts the Driscoll and Kraay (1998) covariance matrix to no cross-sectional correlation.

The function `meatPL` is the work horse for estimating the meat of Newey-West (1978) and Driscoll and Kraay (1998) covariance matrix estimators. `vcovPL` is a wrapper calling `sandwich` and `bread` (Zeileis 2006).

Default lag length is the `"NW1987"`. For `lag = "NW1987"`, the lag length is chosen from the heuristic floor[T^{(1/4)}]. More details on lag length selection in Hoechle (2007). For `lag = "NW1994"`, the lag length is taken from the first step of Newey and West's (1994) plug-in procedure.

### Value

A matrix containing the covariance matrix estimate.

### References

Andrews DWK (1991). “Heteroscedasticity and Autocorrelation Consistent Covariance Matrix Estimation”, Econometrica, 817–858.

Driscoll JC & Kraay AC (1998). “Consistent Covariance Matrix Estimation with Spatially Dependent Panel Data”, The Review of Economics and Statistics, 80(4), 549–560.

Hoechle D (2007). “Robust Standard Errors for Panel Regressions with Cross-Sectional Dependence”, Stata Journal, 7(3), 281–312.

Newey WK & West KD (1987). “Hypothesis Testing with Efficient Method of Moments Estimation”, International Economic Review, 777-787.

Newey WK & West KD (1994). “Automatic Lag Selection in Covariance Matrix Estimation”, The Review of Economic Studies, 61(4), 631–653.

White H (1980). “A Heteroskedasticity-Consistent Covariance Matrix Estimator and a Direct Test for Heteroskedasticity”, Econometrica, 817–838. doi: 10.2307/1912934

Zeileis A (2004). “Econometric Computing with HC and HAC Covariance Matrix Estimator”, Journal of Statistical Software, 11(10), 1–17. doi: 10.18637/jss.v011.i10

Zeileis A (2006). “Object-Oriented Computation of Sandwich Estimators”, Journal of Statistical Software, 16(9), 1–16. doi: 10.18637/jss.v016.i09

### See Also

`vcovCL`

### Examples

    ## Petersen's data
    data("PetersenCL", package = "sandwich")
    m <- lm(y ~ x, data = PetersenCL)

    ## Driscoll and Kraay standard errors
    ## lag length set to: T - 1 (maximum lag length)
    ## as proposed by Petersen (2009)
    sqrt(diag(vcovPL(m, cluster = PetersenCL$firm, lag = "max", adjust = FALSE)))

    ## lag length set to: floor(4 * (T / 100)^(2/9))
    ## rule of thumb proposed by Hoechle (2007) based on Newey & West (1994)
    sqrt(diag(vcovPL(m, cluster = PetersenCL$firm, lag = "NW1994")))

    ## lag length set to: floor(T^(1/4))
    ## rule of thumb based on Newey & West (1987)
    sqrt(diag(vcovPL(m, cluster = PetersenCL$firm, lag = "NW1987")))

[Package sandwich version 2.4-0 Index]