rdrbounds: Rosenbaum bounds for RD designs under local randomization

View source: R/rdrbounds.R

rdrboundsR Documentation

Rosenbaum bounds for RD designs under local randomization

Description

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 randomization test statistic to be used. Allowed options are diffmeans (difference in means statistic), ksmirnov (Kolmogorov-Smirnov statistic), and ranksum (Wilcoxon-Mann-Whitney standardized statistic). Default option is ranksum. The statistic ttest is equivalent to diffmeans and included for backward compatibility.

p

the order of the polynomial for the 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 a 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 should be specified as a vector containing the values of the endogenous treatment variable. This option uses an Anderson-Rubin/intention-to-treat statistic.

nulltau

the value of the treatment effect under the null hypothesis. Default is 0.

prob

the probabilities of treatment for each unit when the 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

the number of replications. Default is 1000.

seed

the seed to be used for the randomization tests.

Value

A list containing:

gamma

vector of gamma values.

expgamma

vector of exp(gamma) values.

wlist

window grid.

p.values

p-values for each window under gamma = 0. When fmpval = TRUE, this includes Bernoulli and fixed-margins p-values.

lower.bound

matrix of lower-bound p-values for each gamma-window pair; included when bound = "lower" or bound = "both".

upper.bound

matrix of upper-bound p-values for each gamma-window pair; included when bound = "upper" or bound = "both".

Author(s)

Matias D. Cattaneo, Princeton University. matias.d.cattaneo@gmail.com

Rocio Titiunik, Princeton University. rocio.titiunik@gmail.com

Gonzalo Vazquez-Bare, UC Santa Barbara. gvazquezbare@gmail.com

References

Cattaneo, M.D., 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.

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

Cattaneo, M.D., 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.

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

Examples

# Toy dataset
set.seed(123)
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)



rdlocrand documentation built on May 14, 2026, 5:10 p.m.