# rdrbounds

##### Rosenbaum bounds for RD designs under local randomization

`rdrbounds`

calculates lower and upper bounds for the
randomization p-value under different degrees of departure from a
local randomized experiment, as suggested by Rosenbaum (2002).

##### Usage

```
rdrbounds(
Y,
R,
cutoff = 0,
wlist,
gamma,
expgamma,
bound = "both",
statistic = "ranksum",
p = 0,
evalat = "cutoff",
kernel = "uniform",
fuzzy = NULL,
nulltau = 0,
prob,
fmpval = FALSE,
reps = 1000,
seed = 666
)
```

##### Arguments

- Y
a vector containing the values of the outcome variable.

- R
a vector containing the values of the running variable.

- cutoff
the RD cutoff (default is 0).

- wlist
the list of window lengths to be evaluated. By default the program constructs 10 windows around the cutoff, the first one including 10 treated and control observations and adding 5 observations to each group in subsequent windows.

- gamma
the list of values of gamma to be evaluated.

- expgamma
the list of values of exp(gamma) to be evaluated. Default is

`c(1.5,2,2.5,3)`

.- bound
specifies which bounds the command calculates. Options are

`upper`

for upper bound,`lower`

for lower bound and`both`

for both upper and lower bounds. Default is`both`

.- statistic
the statistic to be used in the balance tests. Allowed options are

`diffmeans`

(difference in means statistic),`ksmirnov`

(Kolmogorov-Smirnov statistic) and`ranksum`

(Wilcoxon-Mann-Whitney standardized statistic). Default option is`diffmeans`

. The statistic`ttest`

is equivalent to`diffmeans`

and included for backward compatibility.- p
the order of the polynomial for outcome adjustment model. Default is 0.

- evalat
specifies the point at which the adjusted variable is evaluated. Allowed options are

`cutoff`

and`means`

. Default is`cutoff`

.- kernel
specifies the type of kernel to use as weighting scheme. Allowed kernel types are

`uniform`

(uniform kernel),`triangular`

(triangular kernel) and`epan`

(Epanechnikov kernel). Default is`uniform`

.- fuzzy
indicates that the RD design is fuzzy.

`fuzzy`

can be specified as a vector containing the values of the endogenous treatment variable, or as a list where the first element is the vector of endogenous treatment values and the second element is a string containing the name of the statistic to be used. Allowed statistics are`ar`

(Anderson-Rubin statistic) and`tsls`

(2SLS statistic). Default statistic is`ar`

. The`tsls`

statistic relies on large-sample approximation.- nulltau
the value of the treatment effect under the null hypothesis. Default is 0.

- prob
the probabilities of treatment for each unit when assignment mechanism is a Bernoulli trial. This option should be specified as a vector of length equal to the length of the outcome and running variables.

- fmpval
reports the p-value under fixed margins randomization, in addition to the p-value under Bernoulli trials.

- reps
number of replications. Default is 1000.

- seed
the seed to be used for the randomization tests.

##### Value

list of gamma values.

list of exp(gamma) values.

window grid.

p-values for each window (under gamma = 0).

list of lower bound p-values for each window and gamma pair.

list of upper bound p-values for each window and gamma pair.

##### References

M.D. Cattaneo, B. Frandsen and R. Titiunik. (2015). Randomization Inference in the Regression Discontinuity Design: An Application to Party Advantages in the U.S. Senate. *Journal of Causal Inference* 3(1): 1-24.

M.D. Cattaneo, R. Titiunik and G. Vazquez-Bare. (2016). Inference in Regression Discontinuity Designs under Local Randomization. *Stata Journal* 16(2): 331-367.

M.D. Cattaneo, R. Titiunik and G. Vazquez-Bare. (2017). Comparing Inference Approaches for RD Designs: A Reexamination of the Effect of Head Start on Child Mortality. *Journal of Policy Analysis and Management* 36(3): 643-681.

P. Rosenbaum (2002). Observational Studies. Springer.

##### Examples

```
# NOT RUN {
# Toy dataset
R <- runif(100,-1,1)
Y <- 1 + R -.5*R^2 + .3*R^3 + (R>=0) + rnorm(100)
# Rosenbaum bounds
# Note: low number of replications and windows to speed up process.
# The user should increase these values.
rdrbounds(Y,R,expgamma=c(1.5,2),wlist=c(.3),reps=100)
# }
```

*Documentation reproduced from package rdlocrand, version 0.7, License: GPL-2*