Raku package for statistical distributions and related random variates generations.
The distributions and random variate functions of the generations of "Statistics::Distributions" are automatically exported when "Data::Generators", [AAp1] is loaded.
From Zef ecosystem:
zef install Statistics::Distributions
From GitHub:
zef install https://github.com/antononcube/Raku-Statistics-Distributions.git
This module provides the function random-real
that can be used to generate lists of real numbers
using the uniform distribution.
Here is a random real:
use Statistics::Distributions;
say random-real();
Here is a random real between 0 and 20:
say random-real(20);
Here are six random reals between -2 and 12:
say random-real([-2,12], 6);
Here is a 4-by-3 array of random reals between -3 and 3:
say random-real([-3,3], [4,3]);
Remark: The signature design follows Mathematica's function
RandomReal
.
This module provides the function random-variate
that can be used to generate lists of real numbers
using distribution specifications.
Here are examples:
say random-variate(BernoulliDistribution.new(:p(0.3)), 1000).BagHash.Hash;
say random-variate(BinomialDistribution.new(:n(10), :p(0.2)), 10);
say random-variate(NormalDistribution.new( µ => 10, σ => 20), 5);
say random-variate(UniformDistribution.new(:min(2), :max(60)), 5);
Remark: Only Normal distribution and Uniform distribution are implemented at this point.
Remark: The signature design follows Mathematica's function
RandomVariate
.
Here is an example of 2D array generation:
say random-variate(NormalDistribution.new, [3,4]);
Remark: The Markdown document "Random-variate-generation-examples.md", is a guide to generating random variates with the distributions of this package.
[AAp1] Anton Antonov Data::Generators Raku package, (2021-2024), GitHub/antononcube.