vcovDC: Double-Clustering Robust Covariance Matrix Estimator

Description Usage Arguments Details Value Author(s) References See Also Examples

View source: R/tool_vcovG.R

Description

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

Usage

1
2
3
4
vcovDC(x, ...)

## S3 method for class '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,

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 \insertCiteMACK:WHIT:85;textualplm and \insertCiteCRIB:04;textualplm \insertCite@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 \insertCite@see @ZEIL:04, 4.1-2 and examples belowplm.

Value

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

Author(s)

Giovanni Millo

References

\insertRef

CAME:GELB:MILL:11plm

\insertRef

CRIB:04plm

\insertRef

MACK:WHIT:85plm

\insertRef

THOM:11plm

\insertRef

ZEIL:04plm

See Also

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

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
library(lmtest)
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)
## Not run: 
## test of hyp.: 2*log(pc)=log(emp)
library(car)
linearHypothesis(zz, "2*log(pc)=log(emp)", vcov.=vcovDC)

## End(Not run)

plm documentation built on March 3, 2021, 1:12 a.m.