vcovCR.lm {clubSandwich} | R Documentation |
Cluster-robust variance-covariance matrix for an lm object.
Description
vcovCR
returns a sandwich estimate of the variance-covariance matrix
of a set of regression coefficient estimates from an lm
object.
Usage
## S3 method for class 'lm'
vcovCR(
obj,
cluster,
type,
target = NULL,
inverse_var = NULL,
form = "sandwich",
...
)
Arguments
obj |
Fitted model for which to calculate the variance-covariance matrix |
cluster |
Expression or vector indicating which observations belong to
the same cluster. Required for |
type |
Character string specifying which small-sample adjustment should
be used, with available options |
target |
Optional matrix or vector describing the working
variance-covariance model used to calculate the |
inverse_var |
Optional logical indicating whether the weights used in
fitting the model are inverse-variance. If not specified, |
form |
Controls the form of the returned matrix. The default
|
... |
Additional arguments available for some classes of objects. |
Value
An object of class c("vcovCR","clubSandwich")
, which consists
of a matrix of the estimated variance of and covariances between the
regression coefficient estimates.
See Also
Examples
data("ChickWeight", package = "datasets")
lm_fit <- lm(weight ~ Time + Diet:Time, data = ChickWeight)
vcovCR(lm_fit, cluster = ChickWeight$Chick, type = "CR2")
if (requireNamespace("plm", quietly = TRUE)) withAutoprint({
data("Produc", package = "plm")
lm_individual <- lm(log(gsp) ~ 0 + state + log(pcap) + log(pc) + log(emp) + unemp, data = Produc)
individual_index <- !grepl("state", names(coef(lm_individual)))
vcovCR(lm_individual, cluster = Produc$state, type = "CR2")[individual_index,individual_index]
# compare to plm()
plm_FE <- plm::plm(log(gsp) ~ log(pcap) + log(pc) + log(emp) + unemp,
data = Produc, index = c("state","year"),
effect = "individual", model = "within")
vcovCR(plm_FE, type="CR2")
})