# vcovHC: Heteroskedasticity-Consistent Covariance Matrix Estimation

## Description

Heteroskedasticity-consistent estimation of the covariance matrix of the
coefficient estimates in a linear regression model.## Usage

vcovHC(x, order.by = NULL, data = list(),
type = c("HC2", "const", "HC", "HC1", "HC3"))

## Arguments

x

a fitted model object of class `"lm"`

.

order.by

formula. A formula with a single explanatory
variable like `~ x`

. The observations in the model
are ordered by the size of `x`

. If set to `NULL`

(the
default) the observations are assumed to be ordered (e.g. a

data

an optional data frame containing the variables in the `order.by`

model. By default the variables are taken from the environment which
`vcovHC`

is called from.

type

a character string specifying the estimation type. For
details see below.

## Value

- A matrix containing the covariance matrix estimate.

## Details

When `type = "const"`

constant variances are assumed and
and `covHC`

gives the usual estimate of the covariance matrix of
the coefficient estimates: $$\hat \sigma^2 (X^\top X)^{-1}$$

All other methods do not assume constant variances and are suitable in case of
heteroskedasticity. `"HC"`

gives White's estimator; for details see the
references.

## References

MacKinnon J. G., White H. (1985),
Some heteroskedasticity-consistent
covariance matrix estimators with improved finite sample properties.
*Journal of Econometrics* **29**, 305-325## Examples

## generate linear regression relationship
## with homoskedastic variances
x <- sin(1:100)
y <- 1 + x + rnorm(100)
## compute usual covariance matrix of coefficient estimates
fm <- lm(y ~ x)
vcovHC(fm, type="const")
vcov(fm)
sigma2 <- sum(residuals(lm(y~x))^2)/98
sigma2 * solve(crossprod(cbind(1,x)))