Cluster Robust Standard Errors in Stargazer

In a previous post, we discussed how to obtain clustered standard errors in R. While the previous post described how one can easily calculate cluster robust standard errors in R, this post shows how one can include cluster robust standard errors in stargazer and create nice tables including clustered standard errors.

I prepared a short tutorial to explain how to include clustered standard errors in stargazer. The following R code does the following. First, it loads the function that is necessary to compute clustered standard errors. Second, it downloads an example data set from this blog that is used for the OLS estimation and thirdly, it calculates a simple linear model using OLS. Finally, the script uses the summary.lm() function, the one that we loaded at the beginning, to calculate and recover STATA like clustered standard errors and passes them on to the stargazer function. In the example, I print the stargazer output as text, however, one replace can the argument type to “tex” or “html” in order to obtain perfectly formatted “tex” or “html” tables.

# start with an empty workspace

# load necessary packages for importing the function
# load necessary packages for the example

# import the function
url_robust <- ""
eval(parse(text = getURL(url_robust, ssl.verifypeer = FALSE)),

# download data set for example
url_data <- ""
data <- read.xls(gsub("s:",":",url_data))

# estimate simple linear model
reg <- lm(id_score ~ class_size, 

# use new summary function to obtain clustered standard errors
summary(reg,cluster = c("class_id"))

# create stargazer output with cluster robust standard errors

# save cluster robust standard errors
cluster_se <- as.vector(summary(reg,cluster = c("class_id"))$coefficients[,"Std. Error"])

# print stargazer output with robust standard errors
stargazer(reg,type = "text",se = list(cluster_se))

# the last command prints the stargazer output (in this case as text)
# with cluster robust standard errors. 

5 thoughts on “Cluster Robust Standard Errors in Stargazer”

    1. Hey Bea, unfortunately, I have not an already prepared way of using clustered standard errors and mtable. But you can, of course, use the clustered standard errors and pass them on to mtable.
      Best, ad

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.