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]

Create a new SummStats struct with no data

Add a number

Get the number of values added

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());

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);

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());

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);

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);

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());

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]

Formats the value using the given formatter.

impl FromIterator<f64> for SummStats
[src]

Creates a value from an iterator. Read more