Subgroup analysis software

Category: Subgroup analysis.


Google Chrome is required to download the ZIP files posted on this page. Copy and paste the page address in a Google Chrome window, click on the link for the ZIP file, select File in the horizontal menu and choose Download (Ctrl+S).

Software for subgroup identification

SIDES method

R package SIDES implementing the regular SIDES method  (Subgroup Identification Based on Differential Effect Search) based on Lipkovich et al. (2011) [last update: October 04, 2016]. The package is maintained by Marie-Karelle Riviere (

Download the SIDESxl package (an Excel add-in) which implements the regular SIDES and SIDEScreen methods [last update: March 25, 2016]. The package is maintained by Ilya Lipkovich (

Download the R functions, C++ functions (sides64.dll), and examples for the regular SIDES (Lipkovich et al, 2011), SIDEScreen (Lipkovich and Dmitrienko, 2014), and Stochastic SIDEScreen (Lipkovich et al, 2017) methods [last update: October 01, 2018]. The functions and examples are provided by Ilya Lipkovich (, Alex Dmitrienko and Bohdana Ratitch.

Interaction Trees method

Download the R functions and examples for the Interaction Trees method [last update: Dec 30, 2014]. The functions and examples are provided by Xiaogang Su (Xiaogang Su’s site). Download the R code for the Interaction Trees method [last update: Dec 30, 2014].

Virtual Twins method

Download the R code for the Virtual Twins method [last update: Dec 30, 2014]. The code is provided by Jared Foster (
R package aVirtualTwins that implements an adaptation of the Virtual Twins method  by  Foster et al. (2011)

GUIDE method

GUIDE package for classification and regression trees now includes methods for subgroup identification. The GUIDE package is maintained by Wei-Yin Loh (Wei-Yin Loh’s site). For more information on the subgroup identification features, see Section 5.10 of the GUIDE User Manual [last update: September 25, 2018] and paper by Wei-Yin Loh, Xu He and Michael Man.

In addition, MrSGUIDE package implements the GUIDE method for randomized trials and observational studies.  

QUINT method

Quint package for QUalitative INteraction Trees. The package is maintained by Elise Dusseldorp (Elise Dusseldorp’s site) and colleagues. Reference: Dusseldorp and Mechelen (2014).

FindIt method

FindIt package for finding heterogeneous treatment effects [last update: February 27, 2015]. Reference: Imai and Ratkovic (2013).

Blasso method

Download the R functions for the Bayesian two-stage Lasso strategy for biomarker selection for time-to-event endpoints [last update: December 16, 2014]. The code is provided by Xuemin Gu ( Reference: Gu, Yin and Lee (2013).

ROWSi method

Download the R code for the ROWSi method (Regularized Outcome Weighted Subgroup identification). Reference: Yu et al. (2015).

Model-based Recursive Partitioning

R partykit package: A Toolkit for Recursive Partytioning, which can perform subgroup analyses using the functions lmtree(), glmtree() (or more generally, mob()) and ctree()).

Recently a new package model4you has been created that specializes on stratified and personalized treatment effect estimation. The package is maintained by Heidi Seibold (

See examples of subgroup analysis in Seibold et al. (2015) and Seibold et al. (2016)

Other packages

R package personalized  (maintained by Jared Huling) for subgroup identification and estimation of heterogeneous treatment effects. It is a general framework that encompasses a wide range of methods including ROWSi, outcome weighted learning, and many others. See documentation and article explaining the underlying methodology.

R package SubgrID implements several algorithms for developing threshold-based multivariate (prognostic/predictive) biomarker signatures via bootstrapping and aggregating of thresholds from trees (BATTing), Monte-Carlo variations of the Adaptive Indexing Method (AIM) by Huang X. et al. (2017) and and adaptation of Patient Rule Induction Method (PRIM) for subgroup identification by Chen G. et al. (2015).

Fu, Zhou and Faries (2016) developed a search approach that provides simple and interpretable rules defining subgroup of patients with maximizes average patients’  benefit for different treatments within a general framework of outcome weighted learning (OWL). Here you can find the C++ implementation.

R package DynTxRegime implements methods to estimate dynamic treatment regimes using Interactive Q-Learning, Q- Learning, weighted learning, and value-search methods based on Augmented Inverse Probability Weighted Estimators and Inverse Probability Weighted Estimators.

R package listdtr constructs list-based rules (lists of if-then clauses) to estimate the optimal dynamic treatment regime based on the approach by Zhang et al. (2016).

The subtee R package implements method for bootstrap-corrected estimation after subgroup selection described in Rosenkranz (2016) and a model averaging approach from Bornkamp et al. (2016).

TSDT: Treatment-Specific Subgroup Detection Tool by Chakib Battioui, Brian Denton and Lei Shen (2018).

StratifiedMedicine by Thomas Jemielita is a broad toolkit for subgroup identification and stratified/precision medicine. The package also includes a novel algorithm PRISM (Patient Response Identifiers for Stratified Medicine) by Jemielita and Mehrotra (to appear).

Generalized Random Forests (grf) is a package for forest-based statistical estimation and inference. The package currently provides methods for non-parametric least-squares regression, quantile regression, survival regression and treatment effect estimation (optionally using instrumental variables), with support for missing values.

Policy learning via doubly robust empirical welfare maximization over trees (policytree) supports optimal policies via doubly robust empirical welfare maximization over trees. This package implements the multi-action doubly robust approach of Zhou, Athey and Wager (2018).

R package (debiased.subgroup) implements bootstrap-assisted desparsified Lasso and bootstrap-assisted R-split estimators on selected subgroup’s treatment effect estimation. The implemented estimators remove the subgroup selection bias and the regularization bias induced by high-dimensional covariates. For more information, see Guo, Wei, Wu and Wang (2021).

R package (rlearner) supports quasi-oracle estimation of heterogeneous treatment effects based on Nie and Wager (2021).

R package (causalToolBox) is available to enable metalearners for estimating heterogeneous treatment effects using machine learning based on Künzel, Sekhona, Bickel and Yu (2019).

R code (CAPITAL) for the implementation of optimal subgroup identification via constrained policy tree search based on Cai, Lu, West, Mehrotra and Huang (2021).

R package (bcf) supports causal inference for a binary treatment and continuous outcome using Bayesian causal forests based on Hahn, Murray and Carvalho (2019).