Skip to main content

ecdf

Function ecdf 

Source
pub fn ecdf(data: &[f64]) -> Option<(Vec<f64>, Vec<f64>)>
Expand description

A point on the empirical CDF.

Computes the ECDF: F_n(x) = (number of observations ≤ x) / n.

§Returns

Tuple of (sorted unique values, cumulative probabilities). Returns None if the data is empty or contains non-finite values.

§Examples

use u_analytics::distribution::ecdf;

let data = [3.0, 1.0, 2.0, 1.0, 4.0];
let (vals, probs) = ecdf(&data).unwrap();
assert_eq!(vals, vec![1.0, 2.0, 3.0, 4.0]);
assert!((probs[0] - 0.4).abs() < 1e-10); // 2 values ≤ 1.0
assert!((probs[3] - 1.0).abs() < 1e-10);