vcovDC | R Documentation |
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.
vcovDC(x, ...)
## S3 method for class 'plm'
vcovDC(x, type = c("HC0", "sss", "HC1", "HC2", "HC3", "HC4"), ...)
x |
an object of class |
... |
further arguments |
type |
the weighting scheme used, one of |
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
(and the other variance-covariance estimators
provided in the package vcovHC
, vcovBK
, vcovNW
, vcovSCC
) is to pass
it to plm's own functions like summary
, pwaldtest
, and phtest
or
together with testing functions from the lmtest
and car
packages. All of
these typically allow passing the vcov
or vcov.
parameter either as a
matrix or as a function, 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), see \insertCite@see also @ZEIL:04plm, 4.1-2, and examples below.
An object of class "matrix"
containing the estimate of
the covariance matrix of coefficients.
Giovanni Millo
CAME:GELB:MILL:11plm
\insertRefCRIB:04plm
\insertRefMACK:WHIT:85plm
\insertRefTHOM:11plm
\insertRefZEIL:04plm
sandwich::vcovHC()
from the sandwich
package for weighting schemes (type
argument).
data("Produc", package="plm")
zz <- plm(log(gsp)~log(pcap)+log(pc)+log(emp)+unemp, data=Produc, model="pooling")
## as function input to plm's summary method (with and without additional arguments):
summary(zz, vcov = vcovDC)
summary(zz, vcov = function(x) vcovDC(x, type="HC1", maxlag=4))
## standard coefficient significance test
library(lmtest)
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)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.