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.