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
rm(list=ls())

# load necessary packages for importing the function
library(RCurl)
# load necessary packages for the example
library(gdata) 
library(zoo)

# import the function
url_robust <- "https://raw.githubusercontent.com/IsidoreBeautrelet/economictheoryblog/master/robust_summary.R"
eval(parse(text = getURL(url_robust, ssl.verifypeer = FALSE)),
     envir=.GlobalEnv)


# download data set for example
url_data <- "https://economictheoryblog.files.wordpress.com/2016/12/data.xls"
data <- read.xls(gsub("s:",":",url_data))


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

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


# create stargazer output with cluster robust standard errors
require("stargazer")

# 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. 
Advertisements
This entry was posted in Computing and Others, Econometrics and tagged , , , , . Bookmark the permalink.

One Response to Cluster Robust Standard Errors in Stargazer

  1. Pingback: Clustered Standard Errors in R | Economic Theory Blog

Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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 )

w

Connecting to %s

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