distr6: R6 Object-Oriented Probability Distributions Interface 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.
- Publication:
-
arXiv e-prints
- Pub Date:
- September 2020
- DOI:
- 10.48550/arXiv.2009.02993
- arXiv:
- arXiv:2009.02993
- Bibcode:
- 2020arXiv200902993S
- Keywords:
-
- Computer Science - Software Engineering;
- Computer Science - Mathematical Software;
- Statistics - Applications;
- Statistics - Computation
- E-Print:
- Accepted in The R Journal