# vcovG: Generic Lego building block for Robust Covariance Matrix... In plm: Linear Models for Panel Data

 vcovG R Documentation

## Generic Lego building block for Robust Covariance Matrix Estimators

### Description

Generic Lego building block for robust covariance matrix estimators of the vcovXX kind for panel models.

### Usage

```vcovG(x, ...)

## S3 method for class 'plm'
vcovG(
x,
type = c("HC0", "sss", "HC1", "HC2", "HC3", "HC4"),
cluster = c("group", "time"),
l = 0,
inner = c("cluster", "white", "diagavg"),
...
)

## S3 method for class 'pcce'
vcovG(
x,
type = c("HC0", "sss", "HC1", "HC2", "HC3", "HC4"),
cluster = c("group", "time"),
l = 0,
inner = c("cluster", "white", "diagavg"),
...
)
```

### Arguments

 `x` an object of class `"plm"` or `"pcce"` `...` further arguments `type` the weighting scheme used, one of `"HC0"`, `"sss"`, `"HC1"`, `"HC2"`, `"HC3"`, `"HC4"`, `cluster` one of `"group"`, `"time"`, `l` lagging order, defaulting to zero `inner` the function to be applied to the residuals inside the sandwich: one of `"cluster"` or `"white"` or `"diagavg"`,

### Details

`vcovG` is the generic building block for use by higher–level wrappers `vcovHC()`, `vcovSCC()`, `vcovDC()`, and `vcovNW()`. The main use of `vcovG` is to be used internally by the former, but it is made available in the user space for use in non–standard combinations. For more documentation, see see wrapper functions mentioned.

### Value

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

Giovanni Millo

### References

\insertRef

mil17bplm

`vcovHC()`, `vcovSCC()`, `vcovDC()`, `vcovNW()`, and `vcovBK()` albeit the latter does not make use of vcovG.

### Examples

```
data("Produc", package="plm")
zz <- plm(log(gsp)~log(pcap)+log(pc)+log(emp)+unemp, data=Produc,
model="pooling")
## reproduce Arellano's covariance matrix
vcovG(zz, cluster="group", inner="cluster", l=0)
## define custom covariance function
## (in this example, same as vcovHC)
myvcov <- function(x) vcovG(x, cluster="group", inner="cluster", l=0)
summary(zz, vcov = myvcov)
## use in coefficient significance test
library(lmtest)
## robust significance test
coeftest(zz, vcov. = myvcov)

```

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