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.
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