pub fn get_head_tail_classification<T: ToPrimitive>(
    data: &[T]
) -> Classification
Expand description

Returns a Classification object following the Head-Tail Breaks algorithm given one-dimensional data

Arguments

  • data - A reference to a collection of unsorted data points to generate a Classification for

Edge Cases

  • Inputting large u64/i64 data (near their max values) will result in loss of precision because data is being cast to f64

Examples

use classify::get_head_tail_classification;
use classify::{Classification, Bin};

let data: Vec<f64> = vec![1.0/1.0, 1.0/2.0, 1.0/3.0, 1.0/4.0, 1.0/5.0,
                          1.0/6.0, 1.0/7.0, 1.0/8.0, 1.0/9.0, 1.0/10.0];

let result: Classification = get_head_tail_classification(&data);
let expected: Classification = vec![
    Bin{bin_start: 0.1, bin_end: 0.2928968253968254, count: 7},
    Bin{bin_start: 0.2928968253968254, bin_end: 0.611111111111111, count: 2},
    Bin{bin_start: 0.611111111111111, bin_end: 1.0, count: 1}
];

assert!(result == expected);