Heteroskedasticity-Consistent Covariance Matrix Estimation I would like to ask about the difference between the vcovHC and vcov in R. The former is described as the Heteroskedasticity-Consistent Covariance Matrix Estimation. 
What is the difference between those? 
 A: The generic vcov() function in base R extracts an estimate of the variance-covariance matrix for the estimated parameters of a parametric model. Typically, for most models, this is derived under the assumption that the data fully conform with the model. For the linear regression model in lm() this means: zero mean, homoscedastic (= constant variance), uncorrelated errors. Also known as "spherical" errors.
In many situations in practice, these assumptions about the errors are violated. If the errors still have zero mean (i.e., the regression equation for the mean is correctly specified) but are heteroscedastic, the parameter estimates from lm() are still consistent but the corresponding variance-covariance matrix (and thus the standard errors) are biased. One possibility to remedy this situation (among others) is to treat the heteroscedasticity as a nuisance term and derive an estimate of the variance-covariance matrix that is robust against general forms of heteroscedasticity. This is implemented in the vcovHC() function in the sandwich package. See: Achim Zeileis (2004). "Econometric Computing with HC and HAC Covariance Matrix Estimators." Journal of Statistical Software, 11(10), 1-17. doi:10.18637/jss.v011.i10. Additionally, the package also provides covariances that are robust against autocorrelation, cluster correlations, etc. for lm() and beyond.
