Skip to contents

The Python module morie.fn.rgknd is the other implementation of this design in the tree. It is not aliased here because its standard error comes from a 500-draw bootstrap on Python's native generator stream, which no R arm can reproduce; the point estimate is deterministic but the reported uncertainty is not. This version keeps the estimand and gives it an analytic HC0 standard error via the delta method, so both language arms agree to the last digits.

Usage

Rdkkin(y, x, D = NULL, cutoff = 0, bandwidth = 1)

Arguments

y

Outcome.

x

Running variable.

D

Assignment or dose; omit for the sharp kink.

cutoff

Kink threshold.

bandwidth

Half-window, positive.

Value

List with estimate, tau, se, z, slope_Y_right, slope_Y_left, slope_D_right, slope_D_left, first_stage, n_right, n_left, bandwidth.

Details

With D omitted the design is sharp: the assignment slope changes by exactly one and the estimator is the change in outcome slope.

Formula: tau = (b_Y+ - b_Y-) / (b_D+ - b_D-).

References

Card, D., Lee, D. S., Pei, Z. & Weber, A. (2015). Inference on causal effects in a generalized regression kink design. Econometrica 83(6):2453-2483. doi:10.3982/ECTA11224 .

Examples

set.seed(1)
r <- Rdkkin(y = rnorm(10), x = rnorm(10)); TRUE
#> [1] TRUE