# vcovSCC: Driscoll and Kraay (1998) Robust Covariance Matrix Estimator In plm: Linear Models for Panel Data

 vcovSCC R Documentation

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

### Details

`vcovSCC` is a function for estimating a robust covariance matrix of parameters for a panel model according to the \insertCiteDRIS: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 \insertCiteMACK:WHIT:85;textualplm and \insertCiteCRIB:04;textualplm \insertCite@see @ZEIL:04plm).

The main use of `vcovSCC` (and the other variance-covariance estimators provided in the package `vcovHC`, `vcovBK`, `vcovNW`, `vcovDC`) 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), \insertCite@see also @ZEIL:04plm, 4.1-2, and examples below.

### Value

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

### Author(s)

Giovanni Millo, partially ported from Daniel Hoechle's (2007) Stata code

### References

\insertRef

CRIB:04plm

\insertRef

DRIS:KRAA:98plm

\insertRef

HOEC:07plm

\insertRef

MACK:WHIT:85plm

\insertRef

ZEIL:04plm

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

### Examples

```
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 = vcovSCC)
summary(zz, vcov = function(x) vcovSCC(x, method="arellano", type="HC1"))
## standard coefficient significance test
library(lmtest)
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)
## Not run:
## test of hyp.: 2*log(pc)=log(emp)
library(car)
linearHypothesis(zz, "2*log(pc)=log(emp)", vcov.=vcovSCC)

## End(Not run)
```

plm documentation built on Aug. 16, 2022, 5:15 p.m.