{{ message }}

Instantly share code, notes, and snippets.

# sboysel/r_econometrics.md

Created Jun 29, 2016
Notes on econometrics in R

## Notes on Econometrics in R

This note summarizes several tools for traditional econometric analysis using `R`. The CRAN Task View - Econometrics provides a very comprehensive overview of available econometrics packages in `R`. Rather the duplicate this resource, I will highlight several functions and tools that accommodate 95% of my econometric analyses.

### Packages and functions

#### Linear Regression

• `stats::lm` - the standard OLS routine included in the base `R` package `stats`. The call `summary(lm(y ~ x1 + x2, data = mydata))` produces output most similar to `reg y x1 x2` in Stata.

• `lfe` - Linear Fixed Effects models. In addition to efficiently handling high-dimension fixed effects, the workhorse function `felm` also supports instrumental variables and clustered standard errors. As it improves `lm` by incorporating features common to many econometric analyses, `felm` is my preferred tool for linear models. To illustrate typical usage, one might summarize the results of a linear model with

``````summary(felm(y ~ w1 + w2 | f1 + f2 | (x1 ~ z1) | f3, data = mydata))
``````

where `y` is the dependent variable, `w1` and `w2` are exogenous continuous covariates, `f1` and `f2` are categorical variables that are projected out as fixed effects, `x1` is an endogenous independent variable that is instrumented using exogenous `z1`, and `f3` is the categorical variable by which standard errors are clustered.

• `AER` - this package includes many functions and datasets to accompany the excellent book by Christian Kleiber and Achim Zeileis, Applied Econometrics with R (2008), which I highly recommend reading. One notable function is `ivreg` for instrumental variables estimation using 2SLS.

• `plm` - Panel Linear models. I have found this package to be a bit less flexible than `lfe` but I have admittedly little experience with it.

#### Summarizing Results

• `knitr` - Dynamic documentation tool. Rather than copying and pasting `R` output into a document, `knitr` and associated tools such as `RMarkdown` and `Sweave` provide a framework in which one can mix `R` code and output with the final output document. A much better introduction to the package and countless examples can be seen here.
• `stargazer` - easily summarizes regression models in tables. In addition to the package documentation, I cannot recommend the phenomenal cheat sheet by Jake Russ, which not only illustrates the features of `stargazer` but also the common process of summarizing regression results in general.
• `broom` and `xtable` - Occasianally I find that `stargazer` is not flexible to generate the type of summary I need. The next step is to use tools such as `broom` to extract estimates from fitted models and `xtable` to convert `R` data.frames to LaTeX tables.