Learn R Programming

rddtools

rddtools is an R package designed to offer a set of tools to run all the steps required for a Regression Discontinuity Design (RDD) Analysis, from primary data visualisation to discontinuity estimation, sensitivity and placebo testing.

Installing rddtools

This github website hosts the source code. One of the easiest ways to install the package from github is by using the R package devtools:

if (!require('remotes')) install.packages('remotes')
remotes::install_github('bquast/rddtools')

Note however the latest version of rddtools only works with R 3.0, and that you might need to install Rtools if on Windows.

Documentation

The (preliminary) documentation is available in the help files directly, as well as in the vignettes. The vignettes can be accessed from R.

vignette('rddtools')

rddtools: main features

  • Simple visualisation of the data using binned-plot: plot()

  • Bandwidth selection:

  • Estimation:

    • RDD parametric estimation: rdd_reg_lm() This includes specifying the polynomial order, including covariates with various specifications as advocated in Imbens and Lemieux 2008.
    • RDD local non-parametric estimation: rdd_reg_np(). Can also include covariates, and allows different types of inference (fully non-parametric, or parametric approximation).
    • RDD generalised estimation: allows to use custom estimating functions to get the RDD coefficient. Could allow for example a probit RDD, or quantile regression.
  • Post-Estimation tools:

    • Various tools, to obtain predictions at given covariate values ( rdd_pred() ), or to convert to other classes, to lm ( as.lm() ), or to the package np ( as.npreg() ).
    • Function to do inference with clustered data: clusterInf() either using a cluster covariance matrix ( vcovCluster() ) or by a degrees of freedom correction (as in Cameron et al. 2008).
  • Regression sensitivity analysis:

    • Plot the sensitivity of the coefficient with respect to the bandwith: plotSensi()
    • Placebo plot using different cutpoints: plotPlacebo()
  • Design sensitivity analysis:

    • McCrary test of manipulation of the forcing variable: wrapper dens_test() to the function DCdensity() from package rdd.
    • Test of equal means of covariates: covarTest_mean()
    • Test of equal density of covariates: covarTest_dens()
  • Datasets

References

Copy Link

Version

Install

install.packages('rddtools')

Monthly Downloads

773

Version

1.6.0

License

GPL (>= 2)

Maintainer

Last Published

January 10th, 2022

Functions in rddtools (1.6.0)

indh

INDH data set
gen_mc_ik

Generate Monte Carlo simulations of Imbens and Kalyanaraman
plot.rdd_data

Plot rdd_data
clusterInf

Post-inference for clustered data
plotBin

Bin plotting
rdd_gen_reg

General polynomial estimator of the regression discontinuity
rdd_pred

RDD coefficient prediction
plotSensi

Plot the sensitivity to the bandwidth
plotPlacebo

Draw a (density) plot of placebo tests
rdd_coef

RDD coefficient
rdd_data

Construct rdd_data
vcovCluster

Cluster Heteroskedasticity-consistent estimation of the covariance matrix.
rdd_bw_rsw

Global bandwidth selector of Ruppert, Sheather and Wand (1995) from package KernSmooth
rdd_bw_ik

Imbens-Kalyanaraman Optimal Bandwidth Calculation
waldci

Confint allowing vcov
rdd_bw_cct_estim

Bandwidth selection for Regression Discontinuity estimators, CTT 2014
rot_bw

Bandwidth selector
rddtools

Regression Discontinuity Design
rdd_bw_cct_plot

Bandwidth selection for Regression Discontinuity visualisation, CTT 2015
rdd_reg_lm

Parametric polynomial estimator of the regression discontinuity
rdd_reg_np

Parametric polynomial estimator of the regression discontinuity
STAR_MHE

Transformation of the STAR dataset as used in Angrist and Pischke (2008)
as.lm

Convert a rdd object to lm
dens_test

Run the McCracy test for manipulation of the forcing variable
house

Dataset used in Lee (2008)
covarTest_dis

Testing for balanced covariates: equality of distribution
covarTest_mean

Testing for balanced covariates: equality of means with t-test
as.npregbw

Convert an rdd_reg object to a npreg object