vcovCR  R Documentation 
This is a generic function, with specific methods defined for
lm
, plm
, glm
,
gls
, lme
,
robu
, rma.uni
, and
rma.mv
objects.
vcovCR
returns a sandwich estimate of the variancecovariance matrix
of a set of regression coefficient estimates.
vcovCR(obj, cluster, type, target, inverse_var, form, ...) ## Default S3 method: vcovCR( obj, cluster, type, target = NULL, inverse_var = FALSE, form = "sandwich", ... )
obj 
Fitted model for which to calculate the variancecovariance matrix 
cluster 
Expression or vector indicating which observations belong to the same cluster. For some classes, the cluster will be detected automatically if not specified. 
type 
Character string specifying which smallsample adjustment should
be used, with available options 
target 
Optional matrix or vector describing the working
variancecovariance model used to calculate the 
inverse_var 
Optional logical indicating whether the weights used in
fitting the model are inversevariance. If not specified, 
form 
Controls the form of the returned matrix. The default

... 
Additional arguments available for some classes of objects. 
vcovCR
returns a sandwich estimate of the variancecovariance matrix
of a set of regression coefficient estimates.
Several different small sample corrections are available, which run
parallel with the "HC" corrections for heteroskedasticityconsistent
variance estimators, as implemented in vcovHC
. The
"CR2" adjustment is recommended (Pustejovsky & Tipton, 2017; Imbens &
Kolesar, 2016). See Pustejovsky and Tipton (2017) and Cameron and Miller
(2015) for further technical details. Available options include:
is the original form of the sandwich estimator (Liang & Zeger, 1986), which does not make any smallsample correction.
multiplies CR0 by m / (m  1)
, where m
is the
number of clusters.
multiplies CR0 by m / (m  p)
, where m
is the
number of clusters and p
is the number of covariates.
multiplies CR0 by (m (N1)) / [(m 
1)(N  p)]
, where m
is the number of clusters, N
is the
total number of observations, and p
is the number of covariates.
Some Stata commands use this correction by default.
is the "biasreduced linearization" adjustment proposed by Bell and McCaffrey (2002) and further developed in Pustejovsky and Tipton (2017). The adjustment is chosen so that the variancecovariance estimator is exactly unbiased under a userspecified working model.
approximates the leaveoneclusterout jackknife variance estimator (Bell & McCaffrey, 2002).
An object of class c("vcovCR","clubSandwich")
, which consists
of a matrix of the estimated variance of and covariances between the
regression coefficient estimates. The matrix has several attributes:
indicates which smallsample adjustment was used
contains the factor vector that defines independent clusters
contains the bread matrix
constant used in scaling the sandwich estimator
contains a list of estimating matrices used to calculate the sandwich estimator
contains a list of adjustment matrices used to calculate the sandwich estimator
contains the working variancecovariance model used to calculate the adjustment matrices. This is needed for calculating smallsample corrections for Wald tests.
Bell, R. M., & McCaffrey, D. F. (2002). Bias reduction in standard errors for linear regression with multistage samples. Survey Methodology, 28(2), 169181.
Cameron, A. C., & Miller, D. L. (2015). A Practitioner's Guide to ClusterRobust Inference. Journal of Human Resources, 50(2), 317372. doi: 10.3368/jhr.50.2.317
Imbens, G. W., & Kolesar, M. (2016). Robust standard errors in small samples: Some practical advice. Review of Economics and Statistics, 98(4), 701712. doi: 10.1162/rest_a_00552
Liang, K.Y., & Zeger, S. L. (1986). Longitudinal data analysis using generalized linear models. Biometrika, 73(1), 1322. doi: 10.1093/biomet/73.1.13
Pustejovsky, J. E. & Tipton, E. (2018). Small sample methods for clusterrobust variance estimation and hypothesis testing in fixed effects models. Journal of Business and Economic Statistics, 36(4), 672683. doi: 10.1080/07350015.2016.1247004
vcovCR.lm
, vcovCR.plm
,
vcovCR.glm
, vcovCR.gls
,
vcovCR.lme
, vcovCR.lmerMod
, vcovCR.robu
,
vcovCR.rma.uni
, vcovCR.rma.mv
# simulate design with clusterdependence m < 8 cluster < factor(rep(LETTERS[1:m], 3 + rpois(m, 5))) n < length(cluster) X < matrix(rnorm(3 * n), n, 3) nu < rnorm(m)[cluster] e < rnorm(n) y < X %*% c(.4, .3, .3) + nu + e dat < data.frame(y, X, cluster, row = 1:n) # fit linear model lm_fit < lm(y ~ X1 + X2 + X3, data = dat) vcov(lm_fit) # clusterrobust variance estimator with CR2 smallsample correction vcovCR(lm_fit, cluster = dat$cluster, type = "CR2") # compare smallsample adjustments CR_types < paste0("CR",c("0","1","1S","2","3")) sapply(CR_types, function(type) sqrt(diag(vcovCR(lm_fit, cluster = dat$cluster, type = type))))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.