Function classify::get_head_tail_classification
source · [−]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);