causalQual_rd: Causal Inference for Qualitative Outcomes under Regression...

View source: R/estimation-functions.R

causalQual_rdR Documentation

Causal Inference for Qualitative Outcomes under Regression Discontinuity

Description

Fit local polynomial regression models for qualitative outcomes to estimate the probabilities of shift at the cutoff.

Usage

causalQual_rd(Y, running_variable, cutoff)

Arguments

Y

Qualitative outcome. Must be labeled as \{1, 2, \dots\}.

running_variable

Running variable determining treatment assignment.

cutoff

Cutoff or threshold. Units with running_variable < cutoff are considered controls, while units with running_variable >= cutoff are considered treated.

Details

Under a regression discontinuity design, identification requires that the probability mass functions for class m of potential outcomes are continuous in the running variable (continuity). If this assumption holds, we can recover the probability shift at the cutoff for class m:

\delta_{m, C} := P(Y_i (1) = m | Running_i = cutoff) - P(Y_i(0) = m | Running_i = cutoff).

causalQual_rd applies, for each class m, standard local polynomial estimators to the binary variable 1(Y_i = m). Specifically, the ruotine implements the robust bias-corrected inference procedure of Calonico et al. (2014) (see the rdrobust function).

Value

An object of class causalQual.

Author(s)

Riccardo Di Francesco

References

  • Di Francesco, R., and Mellace, G. (2025). Causal Inference for Qualitative Outcomes. arXiv preprint arXiv:2502.11691. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.48550/arXiv.2502.11691")}.

See Also

causalQual_soo causalQual_iv causalQual_did

Examples

## Generate synthetic data.
set.seed(1986)

data <- generate_qualitative_data_rd(100, outcome_type = "ordered")

Y <- data$Y
running_variable <- data$running_variable
cutoff <- data$cutoff

## Estimate probabilities of shift at the cutoff.
fit <- causalQual_rd(Y, running_variable, cutoff)

summary(fit)
plot(fit)


causalQual documentation built on April 3, 2025, 8:33 p.m.