distr6: R6 Object-Oriented Probability Distributions Interface in R
Raphael Sonabend, Franz Kiraly

TL;DR
distr6 is an R package that provides an object-oriented interface for over 50 probability distributions, supporting complex compositions and leveraging R6 and Rcpp for efficiency.
Contribution
It introduces a scalable, extensible OO framework for probability distributions in R, with novel design patterns and core features for enhanced flexibility.
Findings
Supports over 50 distributions with core methods
Enables complex distribution compositions like truncation and mixtures
Demonstrates improved efficiency and extensibility in R
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.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
