Open Access: Introduction to computational causal inference using reproducible Stata, R, and Python code: A tutorial

Each week, we select a recently published Open Access article to feature. This week’s article comes from Statistics in Medicine and is an introduction to computational casual inference. 

The article’s abstract is given below, with the full article available to read here.

Smith, MJMansournia, MAMaringe, C, et al. Introduction to computational causal inference using reproducible Stata, R, and Python code: A tutorialStatistics in Medicine20211– 26. doi:10.1002/sim.9234
The main purpose of many medical studies is to estimate the effects of a treatment or exposure on an outcome. However, it is not always possible to randomize the study participants to a particular treatment, therefore observational study designs may be used. There are major challenges with observational studies; one of which is confounding. Controlling for confounding is commonly performed by direct adjustment of measured confounders; although, sometimes this approach is suboptimal due to modeling assumptions and misspecification. Recent advances in the field of causal inference have dealt with confounding by building on classical standardization methods. However, these recent advances have progressed quickly with a relative paucity of computational-oriented applied tutorials contributing to some confusion in the use of these methods among applied researchers. In this tutorial, we show the computational implementation of different causal inference estimators from a historical perspective where new estimators were developed to overcome the limitations of the previous estimators (ie, nonparametric and parametric g-formula, inverse probability weighting, double-robust, and data-adaptive estimators). We illustrate the implementation of different methods using an empirical example from the Connors study based on intensive care medicine, and most importantly, we provide reproducible and commented code in Stata, R, and Python for researchers to adapt in their own observational study. The code can be accessed at


More Details