rdsensitivity: Sensitivity analysis for RD designs under local randomization

View source: R/rdsensitivity.R

rdsensitivityR Documentation

Sensitivity analysis for RD designs under local randomization

Description

rdsensitivity analyzes the sensitivity of randomization p-values and confidence intervals to different window lengths.

Usage

rdsensitivity(
  Y,
  R,
  cutoff = 0,
  wlist,
  wlist_left,
  tlist,
  statistic = "diffmeans",
  p = 0,
  evalat = "cutoff",
  kernel = "uniform",
  fuzzy = NULL,
  ci = NULL,
  ci_alpha = 0.05,
  reps = 1000,
  seed = 666,
  nodraw = FALSE,
  quietly = FALSE
)

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 windows to the right of the cutoff. By default the program constructs 10 windows around the cutoff with 5 observations each.

wlist_left

the list of windows to the left of the cutoff. If not specified, the windows are constructed symmetrically around the cutoff based on the values in wlist.

tlist

the list of treatment-effect values under the null to be evaluated. By default the program uses ten evenly spaced points within the asymptotic confidence interval for a constant treatment effect in the smallest window to be used.

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 diffmeans. 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.

ci

returns the confidence interval corresponding to the indicated window length. ci must be a two-element vector containing the left and right limits of the window. Default alpha is .05 (95% level CI).

ci_alpha

specifies the value of alpha for the confidence interval. Default alpha is .05 (95% level CI).

reps

the number of replications. Default is 1000.

seed

the seed to be used for the randomization tests.

nodraw

suppresses contour plot.

quietly

suppresses the output table.

Value

A list containing:

tlist

treatment-effect grid.

wlist

right endpoints of the window grid.

wlist_left

left endpoints of the window grid.

results

matrix of p-values for each treatment-effect and window pair.

ci

confidence interval; included only when ci is specified.

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.

Examples

# Toy dataset
set.seed(123)
R <- runif(100,-1,1)
Y <- 1 + R -.5*R^2 + .3*R^3 + (R>=0) + rnorm(100)
# Sensitivity analysis
# Note: low number of replications to speed up process.
# The user should increase the number of replications.
tmp <- rdsensitivity(Y,R,wlist=seq(.75,2,by=.25),tlist=seq(0,5,by=1),
                     reps=500,nodraw=TRUE,quietly=TRUE)



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