drlate provides doubly robust estimation of the local average treatment effect (LATE) and the local average treatment effect on the treated (LATT) from observational data with a binary instrument. It implements the complete estimator program of Słoczyński, Uysal, and Wooldridge in one package: the doubly robust IPWRA/IPW/AIPW/RA estimators of Słoczyński, Uysal & Wooldridge (2022) and the Abadie-kappa weighting estimators of Słoczyński, Uysal & Wooldridge (2025, JBES), behind a single three-formula interface. Standard errors for every estimator come from one jointly stacked M-estimation system whose sandwich variance accounts for all estimation stages, and the test suite verifies numerical equivalence of estimates and standard errors against fixtures generated by the authors’ own Stata commands (drlate, SSC S459708, and kappalate, SSC S459257) across 38 scenarios. Around the estimators the package provides the workflow applied IV analysis needs: design diagnostics, weak-instrument-robust Fieller confidence sets, cluster-aware bootstrap inference, estimator comparison, and the 2022 paper’s doubly robust Hausman test of unconfoundedness.
Example
library(drlate)
data(drlate_sim)
fit <- drlate(lwage ~ age + educ, # outcome model
nvstat ~ age + educ, # treatment model
rsncode ~ age + educ, # instrument propensity score model
data = drlate_sim)
summary(fit)
#> Local average treatment effect
#> Number of obs : 2,000
#> Estimator : IPWRA
#> Outcome model : linear
#> Treatment model : logit
#> Instrument model : logit (MLE)
#>
#> Estimate Std. Error z value Pr(>|z|) [95% conf. interval]
#> LATE: D on Y 0.4705 0.07915 5.944 2.786e-09 0.3153 0.6256
#> ATE: Z on Y 0.2845 0.05043 5.642 1.679e-08 0.1857 0.3834
#> ATE: Z on D 0.6048 0.01837 32.929 8.326e-238 0.5688 0.6408
#>
#> First stage (Z on D): z = 32.93 (z^2 ~ first-stage F = 1084)Citation
If you use drlate in your research, please cite:
Venkitasubramanian, K. (2026). drlate: Doubly Robust Estimation of the Local Average Treatment Effect in R. R package version 0.3.0. https://github.com/kvenkita/drlate
and the methodological papers whose estimators you use:
Słoczyński, T., Uysal, S. D., & Wooldridge, J. M. (2022). Doubly Robust Estimation of Local Average Treatment Effects Using Inverse Probability Weighted Regression Adjustment. arXiv:2208.01300.
Słoczyński, T., Uysal, S. D., & Wooldridge, J. M. (2025). Abadie’s Kappa and Weighting Estimators of the Local Average Treatment Effect. Journal of Business & Economic Statistics 43(1), 164–177.
The package descends from the authors’ Stata commands:
Uysal, D., Słoczyński, T., & Wooldridge, J. M. (2026). DRLATE: Stata module to perform doubly robust estimation of the local average treatment effect (LATE) and the local average treatment effect on the treated (LATT). Statistical Software Components S459708, Boston College Department of Economics.
(citation("drlate") prints the entries with BibTeX.)
Features
| Estimands | LATE, LATT |
Estimators (method) |
IPWRA (default), IPW, AIPW, RA; Abadie-kappa weighting: kappa, kappa0, kappa10 (Słoczyński, Uysal & Wooldridge 2025, JBES) |
| Outcome / treatment models | linear, logit, probit, Poisson; fractional-logit and fractional-probit for outcomes in [0, 1]
|
Instrument propensity score models (ivmodel) |
logit MLE (default), CBPS, IPT; probit MLE for the weighting estimators |
| Weighting | normalized (default) or unnormalized moments; sampling weights |
| Standard errors | joint sandwich over all estimation stages; robust or cluster-robust |
| Diagnostics |
plot(fit) for propensity-score overlap (histogram or density), covariate balance (love plot or per-covariate densities), and weight distributions; balance() / balance(fit, detail = TRUE) tables; balance_test() (Imai–Ratkovic overidentification balance test); first-stage strength on every printout |
| Complier profiling |
complier_means() for population-vs-complier covariate means; kappa_weights() for the underlying Abadie-kappa weights |
| Fieller confidence sets |
confint(fit, method = "fieller") — weak-instrument-robust; available for all ratio-form estimators including kappa/kappa0
|
| Bootstrap |
drlate(..., vcov = "bootstrap") — cluster-aware percentile intervals |
| DR Hausman test |
dr_hausman() — test of unconfoundedness under one-sided noncompliance (2022 paper, Section 5) |
| Estimator comparison |
drlate_compare() with a dot-whisker plot |
| Overlap |
pstolerance enforcement, osample violator flagging |
Documentation
The package website serves the primer, the package overview and Stata replication, and the function reference.