```
pub trait Stats {
```## Show 13 methods

// Required methods
fn sum(&self) -> f64;
fn min(&self) -> f64;
fn max(&self) -> f64;
fn mean(&self) -> f64;
fn median(&self) -> f64;
fn var(&self) -> f64;
fn std_dev(&self) -> f64;
fn std_dev_pct(&self) -> f64;
fn median_abs_dev(&self) -> f64;
fn median_abs_dev_pct(&self) -> f64;
fn percentile(&self, pct: f64) -> f64;
fn quartiles(&self) -> (f64, f64, f64);
fn iqr(&self) -> f64;
}

`test`

)## Expand description

Trait that provides simple descriptive statistics on a univariate set of numeric samples.

## Required Methods§

source#### fn sum(&self) -> f64

#### fn sum(&self) -> f64

`test`

)Sum of the samples.

Note: this method sacrifices performance at the altar of accuracy Depends on IEEE 754 arithmetic guarantees. See proof of correctness at: “Adaptive Precision Floating-Point Arithmetic and Fast Robust Geometric Predicates”

source#### fn min(&self) -> f64

#### fn min(&self) -> f64

`test`

)Minimum value of the samples.

source#### fn max(&self) -> f64

#### fn max(&self) -> f64

`test`

)Maximum value of the samples.

source#### fn mean(&self) -> f64

#### fn mean(&self) -> f64

`test`

)Arithmetic mean (average) of the samples: sum divided by sample-count.

source#### fn median(&self) -> f64

#### fn median(&self) -> f64

`test`

)Median of the samples: value separating the lower half of the samples from the higher half.
Equal to `self.percentile(50.0)`

.

source#### fn var(&self) -> f64

#### fn var(&self) -> f64

`test`

)Variance of the samples: bias-corrected mean of the squares of the differences of each
sample from the sample mean. Note that this calculates the *sample variance* rather than the
population variance, which is assumed to be unknown. It therefore corrects the `(n-1)/n`

bias that would appear if we calculated a population variance, by dividing by `(n-1)`

rather
than `n`

.

source#### fn std_dev(&self) -> f64

#### fn std_dev(&self) -> f64

`test`

)Standard deviation: the square root of the sample variance.

Note: this is not a robust statistic for non-normal distributions. Prefer the
`median_abs_dev`

for unknown distributions.

source#### fn std_dev_pct(&self) -> f64

#### fn std_dev_pct(&self) -> f64

`test`

)Standard deviation as a percent of the mean value. See `std_dev`

and `mean`

.

Note: this is not a robust statistic for non-normal distributions. Prefer the
`median_abs_dev_pct`

for unknown distributions.

source#### fn median_abs_dev(&self) -> f64

#### fn median_abs_dev(&self) -> f64

`test`

)Scaled median of the absolute deviations of each sample from the sample median. This is a
robust (distribution-agnostic) estimator of sample variability. Use this in preference to
`std_dev`

if you cannot assume your sample is normally distributed. Note that this is scaled
by the constant `1.4826`

to allow its use as a consistent estimator for the standard
deviation.

See: https://en.wikipedia.org/wiki/Median_absolute_deviation

source#### fn median_abs_dev_pct(&self) -> f64

#### fn median_abs_dev_pct(&self) -> f64

`test`

)Median absolute deviation as a percent of the median. See `median_abs_dev`

and `median`

.

source#### fn percentile(&self, pct: f64) -> f64

#### fn percentile(&self, pct: f64) -> f64

`test`

)Percentile: the value below which `pct`

percent of the values in `self`

fall. For example,
percentile(95.0) will return the value `v`

such that 95% of the samples `s`

in `self`

satisfy `s <= v`

.

Calculated by linear interpolation between closest ranks.

source#### fn quartiles(&self) -> (f64, f64, f64)

#### fn quartiles(&self) -> (f64, f64, f64)

`test`

)Quartiles of the sample: three values that divide the sample into four equal groups, each
with 1/4 of the data. The middle value is the median. See `median`

and `percentile`

. This
function may calculate the 3 quartiles more efficiently than 3 calls to `percentile`

, but
is otherwise equivalent.

See also: https://en.wikipedia.org/wiki/Quartile

## Implementations on Foreign Types§

source§### impl Stats for [f64]

### impl Stats for [f64]

source§#### fn std_dev_pct(&self) -> f64

#### fn std_dev_pct(&self) -> f64

`test`

)source§#### fn median_abs_dev(&self) -> f64

#### fn median_abs_dev(&self) -> f64

`test`

)source§#### fn median_abs_dev_pct(&self) -> f64

#### fn median_abs_dev_pct(&self) -> f64

`test`

)source§#### fn percentile(&self, pct: f64) -> f64

#### fn percentile(&self, pct: f64) -> f64

`test`

)