plm (version 2.2-5)

vcovSCC: 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

vcovSCC(x, ...)

# S3 method for plm vcovSCC( x, type = c("HC0", "sss", "HC1", "HC2", "HC3", "HC4"), cluster = "time", maxlag = NULL, inner = c("cluster", "white", "diagavg"), wj = function(j, maxlag) 1 - j/(maxlag + 1), ... )

# S3 method for pcce vcovSCC( x, type = c("HC0", "sss", "HC1", "HC2", "HC3", "HC4"), cluster = "time", maxlag = NULL, inner = c("cluster", "white", "diagavg"), wj = function(j, maxlag) 1 - j/(maxlag + 1), ... )

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,

cluster

switch for vcovG; set at "time" here,

maxlag

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

inner

the function to be applied to the residuals inside the sandwich: "cluster" for SCC, "white" for Newey-West, ("diagavg" for compatibility reasons)

wj

weighting function to be applied to lagged terms,

Value

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

Details

vcovSCC is a function for estimating a robust covariance matrix of parameters for a panel model according to the DRIS:KRAA:98;textualplm 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 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 vcovSCC 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

CRIB:04plm

DRIS:KRAA:98plm

HOEC:07plm

MACK:WHIT:85plm

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)
## 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)

# }

Run the code above in your browser using DataCamp Workspace