
Last chance! 50% off unlimited learning
Sale ends in
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.
vcovDC(x, ...)# S3 method for plm
vcovDC(x, type = c("HC0", "sss", "HC1", "HC2", "HC3",
"HC4"), ...)
# S3 method for pcce
vcovDC(x, type = c("HC0", "sss", "HC1", "HC2", "HC3",
"HC4"), ...)
an object of class "plm"
or "pcce"
further arguments
the weighting scheme used, one of "HC0"
, "sss"
,
"HC1"
, "HC2"
, "HC3"
, "HC4"
, see Details,
An object of class "matrix"
containing the estimate of
the covariance matrix of coefficients.
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.
CAME:GELB:MILL:11plm
CRIB:04plm
MACK:WHIT:85plm
THOM:11plm
ZEIL:04plm
sandwich::vcovHC()
from the sandwich
package for weighting schemes (type
argument).
# 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 DataLab