The R Journal: accepted article

This article will be copy edited and may be changed before publication.

distr6: R6 Object-Oriented Probability Distributions Interface in R PDF download
Raphael Sonabend and Franz J. Király

Abstract distr6 is an object-oriented (OO) probability distributions interface leveraging the extensibil ity and scalability of R6, and the speed and efficiency of Rcpp. Over 50 probability distributions are currently implemented in the package with ‘core’ methods including density, distribution, and gener ating functions, and more ‘exotic’ ones including hazards and distribution function anti-derivatives. In addition to simple distributions, distr6 supports compositions such as truncation, mixtures, and product distributions. This paper presents the core functionality of the package and demonstrates examples for key use-cases. In addition this paper provides a critical review of the object-oriented programming paradigms in R and describes some novel implementations for design patterns and core object-oriented features introduced by the package for supporting distr6 components.

Received: 2020-10-30; online 2021-06-17
CRAN packages: distr6, distr, R6, extraDistr, actuar, distributions3, distributional, mistr, R62S3, Rcpp, set6, microbenchmark
CRAN Task Views implied by cited CRAN packages: Distributions, NumericalMathematics, Finance, HighPerformanceComputing, Robust

CC BY 4.0
This article is licensed under a Creative Commons Attribution 4.0 International license.

  author = {Raphael Sonabend and Franz J. Király},
  title = {{distr6: R6 Object-Oriented Probability Distributions
          Interface in R}},
  year = {2021},
  journal = {{The R Journal}},
  doi = {10.32614/RJ-2021-055},
  url = {}