DoubleML - Double Machine Learning in R

build codecov CRAN Version

The R package DoubleML provides an implementation of the double / debiased machine learning framework of Chernozhukov et al. (2018). It is built on top of mlr3 and the mlr3 ecosystem (Lang et al., 2019).

Note that the R package was developed together with a python twin based on scikit-learn. The python package is also available on GitHub and PyPI version.

Documentation and maintenance

Documentation of functions in R:

User guide:

DoubleML is currently maintained by @MalteKurz and @PhilippBach.

Main Features

Double / debiased machine learning framework of Chernozhukov et al. (2018) for

The object-oriented implementation of DoubleML that is based on the R6 package for R is very flexible. The model classes DoubleMLPLR, DoubleMLPLIV, DoubleMLIRM and DoubleIIVM implement the estimation of the nuisance functions via machine learning methods and the computation of the Neyman orthogonal score function. All other functionalities are implemented in the abstract base class DoubleML. In particular functionalities to estimate double machine learning models and to perform statistical inference via the methods fit, bootstrap, confint, p_adjust and tune. This object-oriented implementation allows a high flexibility for the model specification in terms of …

It further can be readily extended with regards to

OOP structure of the DoubleML package


Install the latest release from CRAN:


Install the development version from GitHub:


DoubleML requires


If you use the DoubleML package a citation is highly appreciated:

Bach, P., Chernozhukov, V., Kurz, M. S., and Spindler, M. (2020), DoubleML - Double Machine Learning in R. URL:, R-Package version 0.2.0.


  title = {DoubleML - Double Machine Learning in R},
  author = {Bach, P., Chernozhukov, V., Kurz, M. S., and Spindler, M.},
  year = {2020},
  note = {URL: \url{}, R-Package version 0.2.0}