sandwich (version 3.1-0)

sandwich: Making Sandwiches with Bread and Meat


Constructing sandwich covariance matrix estimators by multiplying bread and meat matrices.


sandwich(x, bread. = bread, meat. = meat, ...)


A matrix containing the sandwich covariance matrix estimate. Typically, this should be an \(k \times k\) matrix corresponding to \(k\) parameters.



a fitted model object.


either a bread matrix or a function for computing this via bread.(x).


either a bread matrix or a function for computing this via meat.(x, ...).


arguments passed to the meat function.


sandwich is a simple convenience function that takes a bread matrix (i.e., estimator of the expectation of the negative derivative of the estimating functions) and a meat matrix (i.e., estimator of the variance of the estimating functions) and multiplies them to a sandwich with meat between two slices of bread. By default bread and meat are called.

Some theoretical background along with implementation details is introduced in Zeileis (2006) and also used in Zeileis et al. (2020).


Zeileis A (2006). “Object-Oriented Computation of Sandwich Estimators.” Journal of Statistical Software, 16(9), 1--16. tools:::Rd_expr_doi("10.18637/jss.v016.i09")

Zeileis A, Köll S, Graham N (2020). “Various Versatile Variances: An Object-Oriented Implementation of Clustered Covariances in R.” Journal of Statistical Software, 95(1), 1--36. tools:::Rd_expr_doi("10.18637/jss.v095.i01")

See Also

bread, meat, meatHC, meatHAC


Run this code
x <- sin(1:10)
y <- rnorm(10)
fm <- lm(y ~ x)

vcovHC(fm, type = "HC")

Run the code above in your browser using DataLab