Propensity Score Software (R)

R Code


  • Ho, D.E., Imai, K., King, G., and Stuart, E.A. (2011). MatchIt: Nonparametric preprocessing for parametric causal inference. Journal of Statistical Software 42(8).
  • Two-step process: does matching, then user does outcome analysis (integrated with Zelig package for R)
  • Wide array of estimation procedures and matching methods available: nearest neighbor, Mahalanobis, caliper, exact, full, optimal, subclassification
  • Built-in numeric and graphical diagnostics


  • Sekhon, J. S. (2011). Multivariate and propensity score matching software with automated balance optimization: The Matching package for R. Journal of Statistical Software 42(7).
  • Uses automated procedure to select matches, based on univariate and multivariate balance diagnostics
  • Primarily 1:M matching (where M is a positive integer), allows matching with or without replacement, caliper, exact
  • Includes built-in effect and variance estimation procedures


  • Ridgeway, G., McCaffrey, D., and Morral, A. (2006). twang: Toolkit for weighting and analysis of nonequivalent groups.
  • Functions for propensity score estimating and weighting, nonresponse weighting, and diagnosis of the weights
  • Primarily uses generalized boosted regression to estimate the propensity scores
  • Includes functionality for multiple group weighting, marginal structural models



-Hansen, B.B., and Fredrickson, M. (2009). optmatch: Functions for optimal matching. - Variable ratio, optimal, and full matching - Can also be implemented through MatchIt


  • Helmreich, J.E. and Pruzek, R.M. (2009). PSAgraphics: An R Package to Support Propensity Score Analysis. Journal of Statistical Software 29(6).
  • From webpage: ?A collection of functions that primarily produce graphics to aid in a Propensity Score Analysis (PSA). Functions include: cat.psa and box.psa to test balance within strata of categorical and quantitative covariates, circ.psa for a representation of the estimated effect size by stratum, loess.psa that provides a graphic and loess based effect size estimate, and various balance functions that provide measures of the balance achieved via a PSA in a categorical covariate.?


  • Abadie, A., Diamond, A., and Hainmueller, H. (2011). Synth: An R Package for Synthetic Control Methods in Comparative Cast Studies. Journal of Statistical Software 42(13).
  • Implements weighting approach to creating synthetic control groups
  • Useful when there is a single treated unit, such as a state or country. Main idea is to form a weighted average of comparison units that, when weighted, looks- like the treated unit.

Cobalt: Covariate balance tables and plots

  • Generates balance tables and figures for covariates following matching, weighting, or subclassification
  • Integrated with MatchIt, twang, matching, CBPS, and ebal


  • Imai, K., and Ratkovic, M. (2014). Covariate balancing propensity score. Journal of the Royal Statistical Society Series B 76(1): 243-263.
  • Estimates propensity score in way that automatically targets balance
  • Also includes functionality for marginal structural models, three- and four-valued treatment levels, and continuous treatments

ebal: Entropy reweighting to create balanced samples

  • Hainmueller, J. (2012). Entropy balancing for causal effects: A multivariate reweighting method to produce balanced samples in observational studies. Political Analysis 20: 25-46.
  • Reweights dataset such that covariate distributions in reweighted data satisfy a set of user specified moment conditions.

PSweight: Supports propensity score weighting analysis of observational studies and randomized trials