I want to do a linear probability model with clustered errors. The data also has a panel structure.

In the R package “sandwich,” there are two functions: vcovPC() and vcovPL().

The package description says:

vcovPC Panel-Corrected Covariance Matrix Estimation
"Estimation of sandwich covariances a la Beck and Katz (1995) for panel data."

vcovPL Clustered Covariance Matrix Estimation for Panel Data
"Estimation of sandwich covariances à la Newey-West (1987) and Driscoll and Kraay (1998) for panel data."

In both, I can specify my clusters. Hence, I have no idea how to decide on one of the two functions. Are there any reasoning for deciding between them?

Source: Package ‘sandwich’.


1 Answer 1


The answer depends on the type of panel you have. The vcovPL() approach can only work well if the panels are long enough so that the autocorrelation over time can be properly captured and adjusted for.

If the panels are rather short, then simple clustering with respect to the cross-section IDs via vcovCL() might already be sufficient.

vcovPC() takes both dimensions explicitly into account.

When you are using a linear regression model for your panel data in R, you might also consider using the plm() function from the package of the same name rather than a plain lm(). For choosing the covariance type in plm you can consult: Millo G (2017). "Robust Standard Error Estimators for Panel Models: A Unifying Approach." Journal of Statistical Software, 82(3), 1–27. doi:10.18637/jss.v082.i03.

More generally, the most comprehensive guide to clustered covariances is: Cameron AC, Miller DL (2015). "A Practitioner’s Guide to Cluster-Robust Inference." Journal of Human Resources, 50(2), 317–372. doi:10.3368/jhr.50.2.317.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.