Learn R Programming

rdd (version 0.57)

DCdensity: McCrary Sorting Test

Description

DCdensity implements the McCrary (2008) sorting test.

Usage

DCdensity(runvar, cutpoint, bin = NULL, bw = NULL, verbose = FALSE, plot = TRUE, ext.out = FALSE, htest = FALSE)

Arguments

runvar
numerical vector of the running variable
cutpoint
the cutpoint (defaults to 0)
bin
the binwidth (defaults to 2*sd(runvar)*length(runvar)^(-.5))
bw
the bandwidth to use (by default uses bandwidth selection calculation from McCrary (2008))
verbose
logical flag specifying whether to print diagnostic information to the terminal. (defaults to FALSE)
plot
logical flag indicating whether to plot the histogram and density estimations (defaults to TRUE). The user may wrap this function in additional graphical options to modify the plot.
ext.out
logical flag indicating whether to return extended output. When FALSE (the default) DCdensity will return only the p-value of the test. When TRUE, DCdensity will return the additional information documented below.
htest
logical flag indicating whether to return an "htest" object compatible with base R's hypothesis test output.

Value

If ext.out is FALSE, only the p value will be returned. Additional output is enabled when ext.out is TRUE. In this case, a list will be returned with the following elements:
theta
the estimated log difference in heights at the cutpoint
se
the standard error of theta
z
the z statistic of the test
p
the p-value of the test. A p-value below the significance threshhold indicates that the user can reject the null hypothesis of no sorting.
binsize
the calculated size of bins for the test
bw
the calculated bandwidth for the test
cutpoint
the cutpoint used
data
a dataframe for the binning of the histogram. Columns are cellmp (the midpoints of each cell) and cellval (the normalized height of each cell)

References

McCrary, Justin. (2008) "Manipulation of the running variable in the regression discontinuity design: A density test," Journal of Econometrics. 142(2): 698-714. http://dx.doi.org/10.1016/j.jeconom.2007.05.005

Examples

Run this code
#No discontinuity
x<-runif(1000,-1,1)
DCdensity(x,0)

#Discontinuity
x<-runif(1000,-1,1)
x<-x+2*(runif(1000,-1,1)>0&x<0)
DCdensity(x,0)

Run the code above in your browser using DataLab