[−][src]Struct statrs::distribution::FisherSnedecor
Implements the Fisher-Snedecor distribution also commonly known as the F-distribution
Examples
use statrs::distribution::{FisherSnedecor, Continuous}; use statrs::statistics::Mean; use statrs::prec; let n = FisherSnedecor::new(3.0, 3.0).unwrap(); assert_eq!(n.mean(), 3.0); assert!(prec::almost_eq(n.pdf(1.0), 0.318309886183790671538, 1e-15));
Implementations
impl FisherSnedecor
[src]
pub fn new(freedom_1: f64, freedom_2: f64) -> Result<FisherSnedecor>
[src]
Constructs a new fisher-snedecor distribution with
degrees of freedom freedom_1
and freedom_2
Errors
Returns an error if freedom_1
or freedom_2
are NaN
.
Also returns an error if freedom_1 <= 0.0
or freedom_2 <= 0.0
Examples
use statrs::distribution::FisherSnedecor; let mut result = FisherSnedecor::new(1.0, 1.0); assert!(result.is_ok()); result = FisherSnedecor::new(0.0, 0.0); assert!(result.is_err());
pub fn freedom_1(&self) -> f64
[src]
Returns the first degree of freedom for the fisher-snedecor distribution
Examples
use statrs::distribution::FisherSnedecor; let n = FisherSnedecor::new(2.0, 3.0).unwrap(); assert_eq!(n.freedom_1(), 2.0);
pub fn freedom_2(&self) -> f64
[src]
Returns the second degree of freedom for the fisher-snedecor distribution
Examples
use statrs::distribution::FisherSnedecor; let n = FisherSnedecor::new(2.0, 3.0).unwrap(); assert_eq!(n.freedom_2(), 3.0);
Trait Implementations
impl CheckedMean<f64> for FisherSnedecor
[src]
fn checked_mean(&self) -> Result<f64>
[src]
impl CheckedMode<f64> for FisherSnedecor
[src]
fn checked_mode(&self) -> Result<f64>
[src]
impl CheckedSkewness<f64> for FisherSnedecor
[src]
fn checked_skewness(&self) -> Result<f64>
[src]
Returns the skewness of the fisher-snedecor distribution
Errors
If freedom_2 <= 6.0
Remarks
Returns NaN
if freedom_1
or freedom_2
is INF
Formula
((2d1 + d2 - 2) * sqrt(8 * (d2 - 4))) / ((d2 - 6) * sqrt(d1 * (d1 + d2 - 2)))
where d1
is the first degree of freedom and d2
is
the second degree of freedom
impl CheckedVariance<f64> for FisherSnedecor
[src]
fn checked_variance(&self) -> Result<f64>
[src]
Returns the variance of the fisher-snedecor distribution
Errors
If freedom_2 <= 4.0
Remarks
Returns NaN
if freedom_1
or freedom_2
is INF
Formula
(2 * d2^2 * (d1 + d2 - 2)) / (d1 * (d2 - 2)^2 * (d2 - 4))
where d1
is the first degree of freedom and d2
is
the second degree of freedom
fn checked_std_dev(&self) -> Result<f64>
[src]
Returns the standard deviation of the fisher-snedecor distribution
Errors
If freedom_2 <= 4.0
Remarks
Returns NaN
if freedom_1
or freedom_2
is INF
Formula
sqrt((2 * d2^2 * (d1 + d2 - 2)) / (d1 * (d2 - 2)^2 * (d2 - 4)))
where d1
is the first degree of freedom and d2
is
the second degree of freedom
impl Clone for FisherSnedecor
[src]
fn clone(&self) -> FisherSnedecor
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Continuous<f64, f64> for FisherSnedecor
[src]
fn pdf(&self, x: f64) -> f64
[src]
Calculates the probability density function for the fisher-snedecor
distribution
at x
Remarks
Returns NaN
if freedom_1
, freedom_2
is INF
, or x
is +INF
or
-INF
Formula
sqrt(((d1 * x) ^ d1 * d2 ^ d2) / (d1 * x + d2) ^ (d1 + d2)) / (x * β(d1 / 2, d2 / 2))
where d1
is the first degree of freedom, d2
is
the second degree of freedom, and β
is the beta function
fn ln_pdf(&self, x: f64) -> f64
[src]
Calculates the log probability density function for the fisher-snedecor
distribution
at x
Remarks
Returns NaN
if freedom_1
, freedom_2
is INF
, or x
is +INF
or
-INF
Formula
ln(sqrt(((d1 * x) ^ d1 * d2 ^ d2) / (d1 * x + d2) ^ (d1 + d2)) / (x * β(d1 / 2, d2 / 2)))
where d1
is the first degree of freedom, d2
is
the second degree of freedom, and β
is the beta function
impl Copy for FisherSnedecor
[src]
impl Debug for FisherSnedecor
[src]
impl Distribution<f64> for FisherSnedecor
[src]
fn sample<R: Rng + ?Sized>(&self, r: &mut R) -> f64
[src]
fn sample_iter<R>(self, rng: R) -> DistIter<Self, R, T> where
R: Rng,
[src]
R: Rng,
impl Max<f64> for FisherSnedecor
[src]
fn max(&self) -> f64
[src]
Returns the maximum value in the domain of the fisher-snedecor distribution representable by a double precision float
Formula
INF
impl Mean<f64> for FisherSnedecor
[src]
impl Min<f64> for FisherSnedecor
[src]
fn min(&self) -> f64
[src]
Returns the minimum value in the domain of the fisher-snedecor distribution representable by a double precision float
Formula
0
impl Mode<f64> for FisherSnedecor
[src]
impl PartialEq<FisherSnedecor> for FisherSnedecor
[src]
fn eq(&self, other: &FisherSnedecor) -> bool
[src]
fn ne(&self, other: &FisherSnedecor) -> bool
[src]
impl Skewness<f64> for FisherSnedecor
[src]
fn skewness(&self) -> f64
[src]
Returns the skewness of the fisher-snedecor distribution
Panics
If freedom_2 <= 6.0
Remarks
Returns NaN
if freedom_1
or freedom_2
is INF
Formula
((2d1 + d2 - 2) * sqrt(8 * (d2 - 4))) / ((d2 - 6) * sqrt(d1 * (d1 + d2 - 2)))
where d1
is the first degree of freedom and d2
is
the second degree of freedom
impl StructuralPartialEq for FisherSnedecor
[src]
impl Univariate<f64, f64> for FisherSnedecor
[src]
fn cdf(&self, x: f64) -> f64
[src]
Calculates the cumulative distribution function for the fisher-snedecor
distribution
at x
Formula
I_((d1 * x) / (d1 * x + d2))(d1 / 2, d2 / 2)
where d1
is the first degree of freedom, d2
is
the second degree of freedom, and I
is the regularized incomplete
beta function
impl Variance<f64> for FisherSnedecor
[src]
fn variance(&self) -> f64
[src]
Returns the variance of the fisher-snedecor distribution
Panics
If freedom_2 <= 4.0
Remarks
Returns NaN
if freedom_1
or freedom_2
is INF
Formula
(2 * d2^2 * (d1 + d2 - 2)) / (d1 * (d2 - 2)^2 * (d2 - 4))
where d1
is the first degree of freedom and d2
is
the second degree of freedom
fn std_dev(&self) -> f64
[src]
Returns the standard deviation of the fisher-snedecor distribution
Panics
If freedom_2 <= 4.0
Remarks
Returns NaN
if freedom_1
or freedom_2
is INF
Formula
sqrt((2 * d2^2 * (d1 + d2 - 2)) / (d1 * (d2 - 2)^2 * (d2 - 4)))
where d1
is the first degree of freedom and d2
is
the second degree of freedom
Auto Trait Implementations
impl RefUnwindSafe for FisherSnedecor
impl Send for FisherSnedecor
impl Sync for FisherSnedecor
impl Unpin for FisherSnedecor
impl UnwindSafe for FisherSnedecor
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> Scalar for T where
T: PartialEq<T> + Copy + Any + Debug,
[src]
T: PartialEq<T> + Copy + Any + Debug,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
SS: SubsetOf<SP>,
fn to_subset(&self) -> Option<SS>
fn is_in_subset(&self) -> bool
unsafe fn to_subset_unchecked(&self) -> SS
fn from_subset(element: &SS) -> SP
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,