Title: | Analysis of RD Designs with Multiple Cutoffs or Scores |
---|---|
Description: | The regression discontinuity (RD) design is a popular quasi-experimental design for causal inference and policy evaluation. The 'rdmulti' package provides tools to analyze RD designs with multiple cutoffs or scores: rdmc() estimates pooled and cutoff specific effects for multi-cutoff designs, rdmcplot() draws RD plots for multi-cutoff designs and rdms() estimates effects in cumulative cutoffs or multi-score designs. See Cattaneo, Titiunik and Vazquez-Bare (2020) <https://rdpackages.github.io/references/Cattaneo-Titiunik-VazquezBare_2020_Stata.pdf> for further methodological details. |
Authors: | Matias D. Cattaneo, Rocio Titiunik, Gonzalo Vazquez-Bare |
Maintainer: | Gonzalo Vazquez-Bare <[email protected]> |
License: | GPL-2 |
Version: | 1.1 |
Built: | 2024-11-12 03:25:03 UTC |
Source: | https://github.com/cran/rdmulti |
The regression discontinuity (RD) design is a popular quasi-experimental design
for causal inference and policy evaluation. The 'rdmulti'
package provides tools
to analyze RD designs with multiple cutoffs or scores: rdmc()
estimates
pooled and cutoff-specific effects in multi-cutoff designs, rdmcplot()
draws RD plots for multi-cutoff RD designs and rdms()
estimates effects in
cumulative cutoffs or multi-score designs. For more details, and related Stata
and
R
packages useful for analysis of RD designs, visit https://rdpackages.github.io/.
Matias Cattaneo, Princeton University. [email protected]
Rocio Titiunik, Princeton University. [email protected]
Gonzalo Vazquez-Bare, UC Santa Barbara. [email protected]
Calonico, S., M.D. Cattaneo, M. Farrell and R. Titiunik. (2017). rdrobust
: Software for Regression Discontinuity Designs. Stata Journal 17(2): 372-404.
Calonico, S., M.D. Cattaneo, and R. Titiunik. (2014). Robust Data-Driven Inference in the Regression-Discontinuity Design. Stata Journal 14(4): 909-946.
Calonico, S., M.D. Cattaneo, and R. Titiunik. (2015). rdrobust
: An R Package for Robust Nonparametric Inference in Regression-Discontinuity Designs. R Journal 7(1): 38-51.
Cattaneo, M.D., L. Keele, R. Titiunik and G. Vazquez-Bare. (2016). Interpreting Regression Discontinuity Designs with Multiple Cutoffs. Journal of Politics 78(4): 1229-1248.
Cattaneo, M.D., L. Keele, R. Titiunik and G. Vazquez-Bare. (2020). Extrapolating Treatment Effects in Multi-Cutoff Regression Discontinuity Designs. Journal of the American Statistical Association 116(536): 1941, 1952.
Cattaneo, M.D., R. Titiunik and G. Vazquez-Bare. (2020). Analysis of Regression Discontinuity Designs with Multiple Cutoffs or Multiple Scores. Stata Journal 20(4): 866-891.
Keele, L. and R. Titiunik. (2015). Geographic Boundaries as Regression Discontinuities. Political Analysis 23(1): 127-155
rdmc()
analyzes RD designs with multiple cutoffs.
rdmc( Y, X, C, fuzzy = NULL, derivvec = NULL, pooled_opt = NULL, verbose = FALSE, pvec = NULL, qvec = NULL, hmat = NULL, bmat = NULL, rhovec = NULL, covs_mat = NULL, covs_list = NULL, covs_dropvec = NULL, kernelvec = NULL, weightsvec = NULL, bwselectvec = NULL, scaleparvec = NULL, scaleregulvec = NULL, masspointsvec = NULL, bwcheckvec = NULL, bwrestrictvec = NULL, stdvarsvec = NULL, vcevec = NULL, nnmatchvec = NULL, cluster = NULL, level = 95, plot = FALSE, conventional = FALSE )
rdmc( Y, X, C, fuzzy = NULL, derivvec = NULL, pooled_opt = NULL, verbose = FALSE, pvec = NULL, qvec = NULL, hmat = NULL, bmat = NULL, rhovec = NULL, covs_mat = NULL, covs_list = NULL, covs_dropvec = NULL, kernelvec = NULL, weightsvec = NULL, bwselectvec = NULL, scaleparvec = NULL, scaleregulvec = NULL, masspointsvec = NULL, bwcheckvec = NULL, bwrestrictvec = NULL, stdvarsvec = NULL, vcevec = NULL, nnmatchvec = NULL, cluster = NULL, level = 95, plot = FALSE, conventional = FALSE )
Y |
outcome variable. |
X |
running variable. |
C |
cutoff variable. |
fuzzy |
specifies a fuzzy design. See |
derivvec |
vector of cutoff-specific order of derivatives. See
|
pooled_opt |
options to be passed to |
verbose |
displays the output from |
pvec |
vector of cutoff-specific polynomial orders. See
|
qvec |
vector of cutoff-specific polynomial orders for bias estimation.
See |
hmat |
matrix of cutoff-specific bandwidths. See |
bmat |
matrix of cutoff-specific bandwidths for bias estimation. See
|
rhovec |
vector of cutoff-specific values of rho. See |
covs_mat |
matrix of covariates. See |
covs_list |
list of covariates to be used in each cutoff. |
covs_dropvec |
vector indicating whether collinear covariates should be
dropped at each cutoff. See |
kernelvec |
vector of cutoff-specific kernels. See |
weightsvec |
vector of length equal to the number of cutoffs indicating
the names of the variables to be used as weights in each cutoff. See |
bwselectvec |
vector of cutoff-specific bandwidth selection methods. See
|
scaleparvec |
vector of cutoff-specific scale parameters. See
|
scaleregulvec |
vector of cutoff-specific scale regularization
parameters. See |
masspointsvec |
vector indicating how to handle repeated values at each
cutoff. See |
bwcheckvec |
vector indicating the value of bwcheck at each cutoff. See
|
bwrestrictvec |
vector indicating whether computed bandwidths are
restricted to the range or runvar at each cutoff. See |
stdvarsvec |
vector indicating whether variables are standardized at
each cutoff. See |
vcevec |
vector of cutoff-specific variance-covariance estimation
methods. See |
nnmatchvec |
vector of cutoff-specific nearest neighbors for variance
estimation. See |
cluster |
cluster ID variable. See |
level |
confidence level for confidence intervals. See |
plot |
plots cutoff-specific estimates and weights. |
conventional |
reports conventional, instead of robust-bias corrected, p-values and confidence intervals. |
tau |
pooled estimate |
se.rb |
robust bias corrected standard error for pooled estimate |
pv.rb |
robust bias corrected p-value for pooled estimate |
ci.rb.l |
left limit of robust bias corrected CI for pooled estimate |
ci.rb.r |
right limit of robust bias corrected CI for pooled estimate |
hl |
bandwidth to the left of the cutoff for pooled estimate |
hr |
bandwidth to the right of the cutofffor pooled estimate |
Nhl |
sample size within bandwidth to the left of the cutoff for pooled estimate |
Nhr |
sample size within bandwidth to the right of the cutoff for pooled estimate |
B |
vector of bias-corrected estimates |
V |
vector of robust variances of the estimates |
Coefs |
vector of conventional estimates |
W |
vector of weights for each cutoff-specific estimate |
Nh |
vector of sample sizes within bandwidth |
CI |
robust bias-corrected confidence intervals |
H |
matrix of bandwidths |
Pv |
vector of robust p-values |
rdrobust.results |
results from rdrobust for pooled estimate |
cfail |
Cutoffs where rdrobust() encountered problems |
Matias Cattaneo, Princeton University. [email protected]
Rocio Titiunik, Princeton University. [email protected]
Gonzalo Vazquez-Bare, UC Santa Barbara. [email protected]
Cattaneo, M.D., R. Titiunik and G. Vazquez-Bare. (2020). Analysis of Regression Discontinuity Designs with Multiple Cutoffs or Multiple Scores. Stata Journal, forthcoming.
# Toy dataset X <- runif(1000,0,100) C <- c(rep(33,500),rep(66,500)) Y <- (1 + X + (X>=C))*(C==33)+(.5 + .5*X + .8*(X>=C))*(C==66) + rnorm(1000) # rdmc with standard syntax tmp <- rdmc(Y,X,C)
# Toy dataset X <- runif(1000,0,100) C <- c(rep(33,500),rep(66,500)) Y <- (1 + X + (X>=C))*(C==33)+(.5 + .5*X + .8*(X>=C))*(C==66) + rnorm(1000) # rdmc with standard syntax tmp <- rdmc(Y,X,C)
rdmcplot()
RD plots with multiple cutoffs.
rdmcplot( Y, X, C, nbinsmat = NULL, binselectvec = NULL, scalevec = NULL, supportmat = NULL, pvec = NULL, hmat = NULL, kernelvec = NULL, weightsvec = NULL, covs_mat = NULL, covs_list = NULL, covs_evalvec = NULL, covs_dropvec = NULL, ci = NULL, col_bins = NULL, pch_bins = NULL, col_poly = NULL, lty_poly = NULL, col_xline = NULL, lty_xline = NULL, nobins = FALSE, nopoly = FALSE, noxline = FALSE, nodraw = FALSE )
rdmcplot( Y, X, C, nbinsmat = NULL, binselectvec = NULL, scalevec = NULL, supportmat = NULL, pvec = NULL, hmat = NULL, kernelvec = NULL, weightsvec = NULL, covs_mat = NULL, covs_list = NULL, covs_evalvec = NULL, covs_dropvec = NULL, ci = NULL, col_bins = NULL, pch_bins = NULL, col_poly = NULL, lty_poly = NULL, col_xline = NULL, lty_xline = NULL, nobins = FALSE, nopoly = FALSE, noxline = FALSE, nodraw = FALSE )
Y |
outcome variable. |
X |
running variable. |
C |
cutoff variable. |
nbinsmat |
matrix of cutoff-specific number of bins. See |
binselectvec |
vector of cutoff-specific bins selection method. See
|
scalevec |
vector of cutoff-specific scale factors. See |
supportmat |
matrix of cutoff-specific support conditions. See
|
pvec |
vector of cutoff-specific polynomial orders. See |
hmat |
matrix of cutoff-specific bandwidths. See |
kernelvec |
vector of cutoff-specific kernels. See |
weightsvec |
vector of cutoff-specific weights. See |
covs_mat |
matrix of covariates. See |
covs_list |
list of of covariates to be used in each cutoff. |
covs_evalvec |
vector indicating the evaluation point for additional
covariates. See |
covs_dropvec |
vector indicating whether collinear covariates should be
dropped at each cutoff. See |
ci |
adds confidence intervals of the specified level to the plot. See
|
col_bins |
vector of colors for bins. |
pch_bins |
vector of characters (pch) type for bins. |
col_poly |
vector of colors for polynomial curves. |
lty_poly |
vector of lty for polynomial curves. |
col_xline |
vector of colors for vertical lines. |
lty_xline |
vector of lty for vertical lines. |
nobins |
omits bins plot. |
nopoly |
omits polynomial curve plot. |
noxline |
omits vertical lines indicating the cutoffs. |
nodraw |
omits plot. |
clist |
list of cutoffs |
cnum |
number of cutoffs |
X0 |
matrix of X values for control units |
X1 |
matrix of X values for treated units |
Yhat0 |
estimated polynomial for control units |
Yhat1 |
estimated polynomial for treated units |
Xmean |
bin average of X values |
Ymean |
bin average for Y values |
CI_l |
lower end of confidence intervals |
CI_r |
upper end of confidence intervals |
cfail |
Cutoffs where rdrobust() encountered problems |
Matias Cattaneo, Princeton University. [email protected]
Rocio Titiunik, Princeton University. [email protected]
Gonzalo Vazquez-Bare, UC Santa Barbara. [email protected]
Cattaneo, M.D., R. Titiunik and G. Vazquez-Bare. (2020). Analysis of Regression Discontinuity Designs with Multiple Cutoffs or Multiple Scores. Stata Journal, forthcoming.
# Toy dataset X <- runif(1000,0,100) C <- c(rep(33,500),rep(66,500)) Y <- (1 + X + (X>=C))*(C==33)+(.5 + .5*X + .8*(X>=C))*(C==66) + rnorm(1000) # rdmcplot with standard syntax tmp <- rdmcplot(Y,X,C)
# Toy dataset X <- runif(1000,0,100) C <- c(rep(33,500),rep(66,500)) Y <- (1 + X + (X>=C))*(C==33)+(.5 + .5*X + .8*(X>=C))*(C==66) + rnorm(1000) # rdmcplot with standard syntax tmp <- rdmcplot(Y,X,C)
rdms()
analyzes RD designs with cumulative cutoffs or two running variables.
rdms( Y, X, C, X2 = NULL, zvar = NULL, C2 = NULL, rangemat = NULL, xnorm = NULL, fuzzy = NULL, derivvec = NULL, pooled_opt = NULL, pvec = NULL, qvec = NULL, hmat = NULL, bmat = NULL, rhovec = NULL, covs_mat = NULL, covs_list = NULL, covs_dropvec = NULL, kernelvec = NULL, weightsvec = NULL, bwselectvec = NULL, scaleparvec = NULL, scaleregulvec = NULL, masspointsvec = NULL, bwcheckvec = NULL, bwrestrictvec = NULL, stdvarsvec = NULL, vcevec = NULL, nnmatchvec = NULL, cluster = NULL, level = 95, plot = FALSE, conventional = FALSE )
rdms( Y, X, C, X2 = NULL, zvar = NULL, C2 = NULL, rangemat = NULL, xnorm = NULL, fuzzy = NULL, derivvec = NULL, pooled_opt = NULL, pvec = NULL, qvec = NULL, hmat = NULL, bmat = NULL, rhovec = NULL, covs_mat = NULL, covs_list = NULL, covs_dropvec = NULL, kernelvec = NULL, weightsvec = NULL, bwselectvec = NULL, scaleparvec = NULL, scaleregulvec = NULL, masspointsvec = NULL, bwcheckvec = NULL, bwrestrictvec = NULL, stdvarsvec = NULL, vcevec = NULL, nnmatchvec = NULL, cluster = NULL, level = 95, plot = FALSE, conventional = FALSE )
Y |
outcome variable. |
X |
running variable. |
C |
vector of cutoffs. |
X2 |
if specified, second running variable. |
zvar |
if X2 is specified, treatment indicator. |
C2 |
if specified, second vector of cutoffs. |
rangemat |
matrix of cutoff-specific ranges for the running variable. |
xnorm |
normalized running variable to estimate pooled effect. |
fuzzy |
specifies a fuzzy design. See |
derivvec |
vector of cutoff-specific order of derivatives. See
|
pooled_opt |
options to be passed to |
pvec |
vector of cutoff-specific polynomial orders. See
|
qvec |
vector of cutoff-specific polynomial orders for bias estimation.
See |
hmat |
matrix of cutoff-specific bandwidths. See |
bmat |
matrix of cutoff-specific bandwidths for bias estimation. See
|
rhovec |
vector of cutoff-specific values of rho. See |
covs_mat |
matrix of covariates. See |
covs_list |
list of of covariates to be used in each cutoff. |
covs_dropvec |
vector indicating whether collinear covariates should be
dropped at each cutoff. See |
kernelvec |
vector of cutoff-specific kernels. See |
weightsvec |
vector of length equal to the number of cutoffs indicating
the names of the variables to be used as weights in each cutoff. See |
bwselectvec |
vector of cutoff-specific bandwidth selection methods. See
|
scaleparvec |
vector of cutoff-specific scale parameters. See
|
scaleregulvec |
vector of cutoff-specific scale regularization
parameters. See |
masspointsvec |
vector indicating how to handle repeated values at each
cutoff. See |
bwcheckvec |
vector indicating the value of bwcheck at each cutoff. See
|
bwrestrictvec |
vector indicating whether computed bandwidths are
restricted to the range or runvar at each cutoff. See |
stdvarsvec |
vector indicating whether variables are standardized at
each cutoff. See |
vcevec |
vector of cutoff-specific variance-covariance estimation
methods. See |
nnmatchvec |
vector of cutoff-specific nearest neighbors for variance
estimation. See |
cluster |
cluster ID variable. See |
level |
confidence level for confidence intervals. See |
plot |
plots cutoff-specific and pooled estimates. |
conventional |
reports conventional, instead of robust-bias corrected, p-values and confidence intervals. |
B |
vector of bias-corrected coefficients |
V |
variance-covariance matrix of the estimators |
Coefs |
vector of conventional coefficients |
Nh |
vector of sample sizes within bandwidth at each cutoff |
CI |
bias corrected confidence intervals |
H |
bandwidth used at each cutoff |
Pv |
vector of robust p-values |
Matias Cattaneo, Princeton University. [email protected]
Rocio Titiunik, Princeton University. [email protected]
Gonzalo Vazquez-Bare, UC Santa Barbara. [email protected]
Cattaneo, M.D., R. Titiunik and G. Vazquez-Bare. (2020). Analysis of Regression Discontinuity Designs with Multiple Cutoffs or Multiple Scores. Stata Journal, forthcoming.
# Toy dataset: cumulative cutoffs X <- runif(1000,0,100) C <- c(33,66) Y <- (1+X)*(X<C[1])+(0.8+0.8*X)*(X>=C[1]&X<C[2])+(1.2+1.2*X)*(X>=C[2]) + rnorm(1000) # rmds: basic syntax tmp <- rdms(Y,X,C)
# Toy dataset: cumulative cutoffs X <- runif(1000,0,100) C <- c(33,66) Y <- (1+X)*(X<C[1])+(0.8+0.8*X)*(X>=C[1]&X<C[2])+(1.2+1.2*X)*(X>=C[2]) + rnorm(1000) # rmds: basic syntax tmp <- rdms(Y,X,C)