# MDiD: Mean Difference in Differences In qte: Quantile Treatment Effects

## Description

`MDiD` is a Difference in Differences type method for computing the QTET.

The method can accommodate conditioning on covariates though it does so in a restrictive way: It specifies a linear model for outcomes conditional on group-time dummies and covariates. Then, after residualizing (see details in Athey and Imbens (2006)), it computes the Change in Changes model based on these quasi-residuals.

## Usage

 ```1 2 3 4 5``` ```MDiD(formla, xformla = NULL, t, tmin1, tname, x = NULL, data, dropalwaystreated = TRUE, panel = FALSE, se = TRUE, plot = FALSE, idname = NULL, uniqueid = NULL, alp = 0.05, probs = seq(0.05, 0.95, 0.05), iters = 100, retEachIter = FALSE, seedvec = NULL, printIter = F) ```

## Arguments

 `formla` The formula y ~ d where y is the outcome and d is the treatment indicator (d should be binary) `xformla` A optional one sided formula for additional covariates that will be adjusted for. E.g ~ age + education. Additional covariates can also be passed by name using the x paramater. `t` The 3rd time period in the sample (this is the name of the column) `tmin1` The 2nd time period in the sample (this is the name of the column) `tname` The name of the column containing the time periods `x` An optional vector of covariates (the name of the columns). Covariates can also be passed in formulat notation using the xformla paramter. `data` The name of the data.frame that contains the data `dropalwaystreated` How to handle always treated observations in panel data case (not currently used) `panel` Binary variable indicating whether or not the dataset is panel. This is used for computing bootstrap standard errors correctly. `se` Boolean whether or not to compute standard errors `plot` Boolean whether or not the estimated QTET should be plotted `idname` The individual (cross-sectional unit) id name `uniqueid` Not sure if this is used anymore `alp` The significance level used for constructing bootstrap confidence intervals `probs` A vector of values between 0 and 1 to compute the QTET at `iters` The number of iterations to compute bootstrap standard errors. This is only used if se=TRUE `retEachIter` Boolean whether or not to return list of results from each iteration of the bootstrap procedure `seedvec` Optional value to set random seed; can possibly be used in conjunction with bootstrapping standard errors. `printIter` Boolean only used for debugging

## Value

A `QTE` object

## References

Athey, Susan and Guido Imbens. “Identification and Inference in Nonlinear Difference-in-Differences Models.” Econometrica 74.2, pp. 431-497, 2006.

Thuysbaert, Bram. “Distributional Comparisons in Difference in Differences Models.” Working Paper, 2007.

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10``` ```## load the data data(lalonde) ## Run the Mean Difference in Differences method conditioning on ## age, education, black, hispanic, married, and nodegree md1 <- MDiD(re ~ treat, t=1978, tmin1=1975, tname="year", xformla=~age + I(age^2) + education + black + hispanic + married + nodegree, data=lalonde.psid.panel, idname="id", se=FALSE, probs=seq(0.05, 0.95, 0.05)) summary(md1) ```

qte documentation built on April 30, 2018, 5:03 p.m.