---
title: "documentation"
output: rmarkdown::html_vignette
vignette: >
%\VignetteIndexEntry{documentation}
%\VignetteEngine{knitr::rmarkdown}
%\VignetteEncoding{UTF-8}
---
```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
```
```{r setup}
library(eventstudyr)
```
## Event Studies
Linear panel models, and the event-study plots that often accompany them, are popular tools for learning about policy effects.
## eventstudyr
`eventstudyr` facilitates estimating linear panel event-study models and constructing event-study plots following the suggestions in [Freyaldenhoven _et al._ (2021)](https://www.nber.org/system/files/working_papers/w29170/w29170.pdf). In particular, it provides functionality for:
* depicting cumulative estimated effects of a policy relative to a user-controlled normalized period
* adding confidence intervals and sup-t confidence bands
* testing for the presence of "pre-trends" and stable dynamics post-event
* plotting the least "wiggly" confound consistent with the estimates
## Data
We will use the `example_data` dataset to demonstrate the basic functionality of `eventstudyr`. These sample data are from the [replication archive](https://data.nber.org/data-appendix/w29170/) for Freyaldenhoven et al. (2021). The documentation can be accessed using `?example_data`.
```{r Data preview}
dim(example_data)
head(example_data)
```
## EventStudy()
`EventStudy()` estimates the regression model from Equation (2) in Freyaldenhoven et al. (2021) and returns a list object that stores the estimation results (as an lm() object) as well as the arguments given in the function call. It accepts variables specifying the outcome, policy, ID and time variables. One must also specify the number of periods in the past before which the past values of the policy are not supposed to affect the value of the outcome and the number of periods in the future after which the future values of the policy are not supposed to affect the value of the outcome today. The function optionally accepts variables specifying the controls, the time window, whether fixed effects should be included, and the period to be used for normalization.
Here is an example using the sample data:
```{r Basic Eventstudy Example - Show Code, eval = FALSE}
results <- EventStudy(estimator = "OLS",
data = example_data,
outcomevar = "y_jump_m",
policyvar = "z",
idvar = "id",
timevar = "t",
post = 3,
pre = 0)
```
```{r Basic Eventstudy Example - Run Code, echo = FALSE}
results <- EventStudy(estimator = "OLS",
data = example_data,
outcomevar = "y_jump_m",
policyvar = "z",
idvar = "id",
timevar = "t",
post = 3,
pre = 0)
```
```{r Basic Eventstudy Example - Show Results 1, echo=TRUE, eval=TRUE}
summary(results$output)
```
Click for `results$arguments`
```{r}
## Estimator
results$arguments$estimator
## Data
results$arguments$data[1:5,]
## Variables
results$arguments$outcomevar
results$arguments$outcomevar
results$arguments$policyvar
results$arguments$idvar
results$arguments$timevar
results$arguments$controls
## Proxies
results$arguments$proxy
results$arguments$proxyIV
## Fixed effects
results$arguments$FE
results$arguments$TFE
## Periods
results$arguments$post
results$arguments$overidpost
results$arguments$pre
results$arguments$overidpre
## Normalization
results$arguments$normalize
results$arguments$normalization_column
## Cluster
results$arguments$cluster
## Eventstudy coefficients
results$arguments$eventstudy_coefficients
```
## EventStudyPlot()
`EventStudyPlot()` prepares an event-study plot based on the suggestions in Freyaldenhoven et al. (2021).
This function is designed to use the output of the `EventStudy()` and returns a ggplot object. Here is an example of using the function with some default settings:
```{r EventStudyPlot example 1, fig.dim = c(7, 5)}
eventstudy_estimates_ols <- EventStudy(estimator = "OLS",
data = example_data,
outcomevar = "y_jump_m",
policyvar = "z",
idvar = "id",
timevar = "t",
post = 3,
pre = 0)
EventStudyPlot(estimates = eventstudy_estimates_ols,
xtitle = "Event time",
ytitle = "Coefficient")
```
## References
Freyaldenhoven, S., Hansen, C., PĂ©rez, J.P. and Shapiro, J.M., 2021. Visualization, identification, and estimation in the linear panel event-study design (No. w29170). National Bureau of Economic Research.