Struct average::WeightedMean [−][src]
pub struct WeightedMean { /* fields omitted */ }
Estimate the weighted and unweighted arithmetic mean of a sequence of numbers (“population”).
Example
use average::WeightedMean; let a: WeightedMean = (1..6).zip(1..6) .map(|(x, w)| (f64::from(x), f64::from(w))).collect(); println!("The weighted mean is {}.", a.mean());
Implementations
impl WeightedMean
[src]
impl WeightedMean
[src]pub fn new() -> WeightedMean
[src]
Create a new weighted and unweighted mean estimator.
pub fn add(&mut self, sample: f64, weight: f64)
[src]
Add an observation sampled from the population.
pub fn is_empty(&self) -> bool
[src]
Determine whether the sample is empty.
Might be a false positive if the sum of weights is zero.
pub fn sum_weights(&self) -> f64
[src]
Return the sum of the weights.
Returns 0 for an empty sample.
pub fn mean(&self) -> f64
[src]
Estimate the weighted mean of the population.
Returns 0 for an empty sample.
Trait Implementations
impl Clone for WeightedMean
[src]
impl Clone for WeightedMean
[src]fn clone(&self) -> WeightedMean
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Default for WeightedMean
[src]
impl Default for WeightedMean
[src]fn default() -> WeightedMean
[src]
impl<'de> Deserialize<'de> for WeightedMean
[src]
impl<'de> Deserialize<'de> for WeightedMean
[src]fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl<'a> FromIterator<&'a (f64, f64)> for WeightedMean
[src]
impl<'a> FromIterator<&'a (f64, f64)> for WeightedMean
[src]fn from_iter<T>(iter: T) -> WeightedMean where
T: IntoIterator<Item = &'a (f64, f64)>,
[src]
T: IntoIterator<Item = &'a (f64, f64)>,
impl FromIterator<(f64, f64)> for WeightedMean
[src]
impl FromIterator<(f64, f64)> for WeightedMean
[src]fn from_iter<T>(iter: T) -> WeightedMean where
T: IntoIterator<Item = (f64, f64)>,
[src]
T: IntoIterator<Item = (f64, f64)>,
impl Merge for WeightedMean
[src]
impl Merge for WeightedMean
[src]fn merge(&mut self, other: &WeightedMean)
[src]
Merge another sample into this one.
Example
use average::{WeightedMean, Merge}; let weighted_sequence: &[(f64, f64)] = &[ (1., 0.1), (2., 0.2), (3., 0.3), (4., 0.4), (5., 0.5), (6., 0.6), (7., 0.7), (8., 0.8), (9., 0.9)]; let (left, right) = weighted_sequence.split_at(3); let avg_total: WeightedMean = weighted_sequence.iter().collect(); let mut avg_left: WeightedMean = left.iter().collect(); let avg_right: WeightedMean = right.iter().collect(); avg_left.merge(&avg_right); assert!((avg_total.mean() - avg_left.mean()).abs() < 1e-15);
impl Serialize for WeightedMean
[src]
impl Serialize for WeightedMean
[src]Auto Trait Implementations
impl RefUnwindSafe for WeightedMean
impl RefUnwindSafe for WeightedMean
impl Send for WeightedMean
impl Send for WeightedMean
impl Sync for WeightedMean
impl Sync for WeightedMean
impl Unpin for WeightedMean
impl Unpin for WeightedMean
impl UnwindSafe for WeightedMean
impl UnwindSafe for WeightedMean
Blanket Implementations
impl<S, T> CastFloat<T> for S where
T: ConvFloat<S>,
[src]
impl<S, T> CastFloat<T> for S where
T: ConvFloat<S>,
[src]pub fn cast_trunc(self) -> T
[src]
pub fn cast_nearest(self) -> T
[src]
pub fn cast_floor(self) -> T
[src]
pub fn cast_ceil(self) -> T
[src]
pub fn try_cast_trunc(self) -> Result<T, Error>
[src]
pub fn try_cast_nearest(self) -> Result<T, Error>
[src]
pub fn try_cast_floor(self) -> Result<T, Error>
[src]
pub fn try_cast_ceil(self) -> Result<T, Error>
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]