English

distr6: R6 Object-Oriented Probability Distributions Interface in R

Software Engineering 2021-03-23 v3 Mathematical Software Applications Computation

Abstract

distr6 is an object-oriented (OO) probability distributions interface leveraging the extensibility 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 generating 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.

Cite

@article{arxiv.2009.02993,
  title  = {distr6: R6 Object-Oriented Probability Distributions Interface in R},
  author = {Raphael Sonabend and Franz Kiraly},
  journal= {arXiv preprint arXiv:2009.02993},
  year   = {2021}
}

Comments

Accepted in The R Journal

R2 v1 2026-06-23T18:21:23.267Z