Struct inc_stats::SummStats
[−]
[src]
pub struct SummStats { /* fields omitted */ }
Summary statistics struct
This struct aggregates data to compute summary statistics using constant space overhead. It implements the FromIterator trait so it can be collected from an iterator of floats.
Examples
let nums = [2.0, 4.0, 8.0]; let mut stats = inc_stats::SummStats::new(); for num in nums.iter() { stats.add(num.clone()); } assert_eq!(3, stats.count());
let nums = [2.0, 4.0, 8.0]; let stats: inc_stats::SummStats = nums.iter().cloned().collect(); assert_eq!(3, stats.count());
Methods
impl SummStats
[src]
fn new() -> Self
Create a new SummStats struct with no data
fn add(&mut self, val: f64)
Add a number
fn count(&self) -> i64
Get the number of values added
fn min(&self) -> Option<f64>
Get the minimum non nan value
Constant time. If no non nan values have been added, this is None.
Examples
let nums = [2.0, 4.0, std::f64::NAN]; let stats: inc_stats::SummStats = nums.iter().cloned().collect(); assert!((2.0 - stats.min().unwrap()).abs() < 1.0e-6);
let mut stats = inc_stats::SummStats::new(); stats.add(std::f64::NAN); assert!(stats.min().is_none());
fn max(&self) -> Option<f64>
Get the maximum non nan value
Constant time. If no non nan values have been added, this is None.
Examples
let nums = [2.0, 4.0, std::f64::NAN]; let stats: inc_stats::SummStats = nums.iter().cloned().collect(); assert!((4.0 - stats.max().unwrap()).abs() < 1.0e-6);
fn mean(&self) -> Option<f64>
Get the mean
Constant time.
Examples
let nums = [2.0, 4.0]; let stats: inc_stats::SummStats = nums.iter().cloned().collect(); assert!((3.0 - stats.mean().unwrap()).abs() < 1.0e-6);
let stats = inc_stats::SummStats::new(); assert!(stats.mean().is_none());
fn sum(&self) -> f64
Get the sum
Constant time.
Examples
let nums = [2.0, 4.0]; let stats: inc_stats::SummStats = nums.iter().cloned().collect(); assert!((6.0 - stats.sum()).abs() < 1.0e-6);
fn standard_deviation(&self) -> Option<f64>
Get the sample standard deviation
Constant time.
Examples
let nums = [2.0, 4.0]; let stats: inc_stats::SummStats = nums.iter().cloned().collect(); assert!((1.4142136 - stats.standard_deviation().unwrap()).abs() < 1.0e-6);
fn variance(&self) -> Option<f64>
Get the sample variance
Constant time.
Examples
let nums = [2.0, 4.0]; let stats: inc_stats::SummStats = nums.iter().cloned().collect(); assert!((2.0 - stats.variance().unwrap()).abs() < 1.0e-6);
let mut stats = inc_stats::SummStats::new(); stats.add(0.0); assert!(stats.variance().is_none());
fn standard_error(&self) -> Option<f64>
Get the standard error
Constant time.
Examples
let nums = [2.0, 4.0]; let stats: inc_stats::SummStats = nums.iter().cloned().collect(); assert!((1.0 - stats.standard_error().unwrap()).abs() < 1.0e-6);
Trait Implementations
impl Debug for SummStats
[src]
impl FromIterator<f64> for SummStats
[src]
fn from_iter<I>(iter: I) -> Self where
I: IntoIterator<Item = f64>,
I: IntoIterator<Item = f64>,
Creates a value from an iterator. Read more