Struct statrs::distribution::Hypergeometric
source · [−]pub struct Hypergeometric { /* private fields */ }
Expand description
Implementations
Constructs a new hypergeometric distribution
with a population (N) of population
, number
of successes (K) of successes
, and number of draws
(n) of draws
Errors
If successes > population
or draws > population
Examples
use statrs::distribution::Hypergeometric;
let mut result = Hypergeometric::new(2, 2, 2);
assert!(result.is_ok());
result = Hypergeometric::new(2, 3, 2);
assert!(result.is_err());
Returns the population size of the hypergeometric distribution
Examples
use statrs::distribution::Hypergeometric;
let n = Hypergeometric::new(10, 5, 3).unwrap();
assert_eq!(n.population(), 10);
Returns the number of observed successes of the hypergeometric distribution
Examples
use statrs::distribution::Hypergeometric;
let n = Hypergeometric::new(10, 5, 3).unwrap();
assert_eq!(n.successes(), 5);
Trait Implementations
Calculates the probability mass function for the hypergeometric
distribution at x
Formula
(K choose x) * (N-K choose n-x) / (N choose n)
where N
is population, K
is successes, and n
is draws
Calculates the cumulative distribution function for the hypergeometric
distribution at x
Formula
1 - ((n choose k+1) * (N-n choose K-k-1)) / (N choose K) * 3_F_2(1,
k+1-K, k+1-n; k+2, N+k+2-K-n; 1)
where N
is population, K
is successes, n
is draws,
and p_F_q
is the [generalized hypergeometric
function](https://en.wikipedia.
org/wiki/Generalized_hypergeometric_function)
Due to issues with rounding and floating-point accuracy the default implementation may be ill-behaved Specialized inverse cdfs should be used whenever possible. Read more
Generate a random value of T
, using rng
as the source of randomness.
Create an iterator that generates random values of T
, using rng
as
the source of randomness. Read more
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
Auto Trait Implementations
impl RefUnwindSafe for Hypergeometric
impl Send for Hypergeometric
impl Sync for Hypergeometric
impl Unpin for Hypergeometric
impl UnwindSafe for Hypergeometric
Blanket Implementations
Mutably borrows from an owned value. Read more
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
Checks if self
is actually part of its subset T
(and can be converted to it).
Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
The inclusion map: converts self
to the equivalent element of its superset.