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

I prepared a short tutorial to explain how to include robust standard errors in stargazer. The following R code does the following. First, it loads the function that is necessary to compute robust standard errors. Second, it downloads an example data set from this blog that is used to perform 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 robust 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 robust standard error 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/08/data.xlsx"
data <- read.xls(gsub("s:",":",url_data))
# estimate simple linear model
reg <- lm(weight ~ lag_calories+lag_cycling+
I(lag_calories*lag_cycling),
data=data)
# use new summary function
summary(reg,robust = T)
# create stargazer output with robust standard errors
require("stargazer")
# save robust standard errors
robust_se <- as.vector(summary(reg,robust = T)$coefficients[,"Std. Error"])
# print stargazer output with robust standard errors
stargazer(reg,type = "text",se = list(robust_se))
# the last command prints the stargazer output (in this case as text)
# with robust standard errors.

### Like this:

Like Loading...

*Related*

Greeting from Japan. Thank you for posting this! This function saves me so much time!

Hi James. I am very happy to hear that. Best, ad

How to pass to stargazer the F statistic calculated within the robust solution?

Hi Raimundo

In order to pass on the F-statistic calculated via the summary function to stargazer, simply pass on the value. That is, pass the value from summary(reg,robust = T)$fstatistic[[1]] to the stargazer function. Does this work for you?

Best, ad