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.
# install.packages("remotes")
remotes::install_github("kvenkita/drlate")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)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.)
| 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 |
The package website serves the primer, the package overview and Stata replication, and the function reference.
MIT. Portions derived from the Stata package drlate, ©
2026 S. Derya Uysal, Tymon Słoczyński, and Jeffrey M. Wooldridge (MIT
licensed).