plm (version 2.2-5)

vcovDC: Double-Clustering Robust Covariance Matrix Estimator

Description

High-level convenience wrapper for double-clustering robust covariance matrix estimators a la THOM:11;textualplm and CAME:GELB:MILL:11;textualplm for panel models.

Usage

vcovDC(x, ...)

# S3 method for plm vcovDC(x, type = c("HC0", "sss", "HC1", "HC2", "HC3", "HC4"), ...)

Arguments

x

an object of class "plm" or "pcce"

further arguments

type

the weighting scheme used, one of "HC0", "sss", "HC1", "HC2", "HC3", "HC4", see Details,

Value

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

Details

vcovDC is a function for estimating a robust covariance matrix of parameters for a panel model with errors clustering along both dimensions. The function is a convenience wrapper simply summing a group- and a time-clustered covariance matrix and subtracting a diagonal one a la White.

Weighting schemes specified by type are analogous to those in sandwich::vcovHC() in package sandwich and are justified theoretically (although in the context of the standard linear model) by MACK:WHIT:85;textualplm and CRIB:04;textualplm @see @ZEIL:04plm.

The main use of vcovDC is to be an argument to other functions, e.g. for Wald-type testing: argument vcov. to coeftest(), argument vcov to waldtest() and other methods in the lmtest package; and argument vcov. to linearHypothesis() in the car package (see the examples). Notice that the vcov and vcov. arguments allow to supply a function (which is the safest) or a matrix @see @ZEIL:04, 4.1-2 and examples belowplm.

References

CAME:GELB:MILL:11plm

CRIB:04plm

MACK:WHIT:85plm

THOM:11plm

ZEIL:04plm

See Also

sandwich::vcovHC() from the sandwich package for weighting schemes (type argument).

Examples

Run this code
# NOT RUN {
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)
## DC robust significance test, default
coeftest(zz, vcov.=vcovDC)
## idem with parameters, pass vcov as a function argument
coeftest(zz, vcov.=function(x) vcovDC(x, type="HC1", maxlag=4))
## joint restriction test
waldtest(zz, update(zz, .~.-log(emp)-unemp), vcov=vcovDC)
## test of hyp.: 2*log(pc)=log(emp)
linearHypothesis(zz, "2*log(pc)=log(emp)", vcov.=vcovDC)

# }

Run the code above in your browser using DataCamp Workspace