vcovSCC {plm}R Documentation

Driscoll and Kraay (1998) Robust Covariance Matrix Estimator

Description

Nonparametric robust covariance matrix estimators a la Driscoll and Kraay for panel models with cross-sectional and serial correlation.

Usage

## S3 method for class 'plm'
vcovSCC(x, type = c("HC0", "HC1", "HC2", "HC3", "HC4"),
                              maxlag=NULL, ...)

Arguments

x

an object of class "plm"

type

one of "HC0","HC1","HC2","HC3","HC4",

maxlag

either NULL or a positive integer specifying the maximum lag order before truncation

...

further arguments

.

Details

vcovSCC is a function for estimating a robust covariance matrix of parameters for a panel model according to the Driscoll and Kraay (1998) method, which is consistent with cross-sectional and serial correlation in a T-asymptotic setting and irrespective of the N dimension. The use with random effects models is undocumented.

Weighting schemes are analogous to those in vcovHC in package sandwich and are justified theoretically (although in the context of the standard linear model) by MacKinnon and White (1985) and Cribari-Neto (2004) (see Zeileis, 2004).

The main use of vcovSCC is to be an argument to other functions, e.g. for Wald-type testing: as vcov to coeftest(), waldtest() and other methods in the lmtest package; and as vcov to linearHypothesis() in the car package (see the examples). Notice that the vcov argument may be supplied a function (which is the safest) or a matrix (see Zeileis (2004), 4.1-2 and examples below).

Value

An object of class "matrix" containing the estimate of the covariance matrix of coefficients.

Author(s)

Giovanni Millo, partially ported from Daniel Hoechle's Stata code

References

Driscoll, J.C. and Kraay, A.C. (1998) Consistent Covariance Matrix Estimation with Spatially Dependent Panel Data. Review of Economics and Statistics 80, 549–560.

Hoechle, D. (2007) Robust standard errors for panel regressions with cross-sectional dependence. Stata Journal, 7(3), 281–312.

Examples

library(lmtest)
library(car)
data("Produc", package="plm")
zz <- plm(log(gsp)~log(pcap)+log(pc)+log(emp)+unemp, data=Produc, model="pooling")
## standard coefficient significance test
coeftest(zz)
## SCC robust significance test, default
coeftest(zz, vcov=vcovSCC)
## idem with parameters, pass vcov as a function argument
coeftest(zz, vcov=function(x) vcovSCC(x, type="HC1", maxlag=4))
## joint restriction test
waldtest(zz, update(zz, .~.-log(emp)-unemp), vcov=vcovSCC)
## test of hyp.: 2*log(pc)=log(emp)
linearHypothesis(zz, "2*log(pc)=log(emp)", vcov=vcovSCC)

[Package plm version 1.2-10 Index]