pub fn chi_squared_independence(
table: &[f64],
n_rows: usize,
n_cols: usize,
) -> Option<TestResult>Expand description
Chi-squared test of independence on a contingency table.
§Arguments
table— Flat row-major contingency table (rows × cols observed frequencies).n_rows— Number of rows.n_cols— Number of columns.
§Algorithm
Expected: Eᵢⱼ = (row_sumᵢ × col_sumⱼ) / N. χ² = Σᵢⱼ (Oᵢⱼ - Eᵢⱼ)² / Eᵢⱼ, df = (r-1)(c-1).
§Returns
None if fewer than 2 rows or columns, any cell is negative, or
any marginal is zero.
§Examples
use u_analytics::testing::chi_squared_independence;
// 2×2 contingency table
let table = [30.0, 10.0, 20.0, 40.0];
let r = chi_squared_independence(&table, 2, 2).unwrap();
assert!(r.p_value < 0.01);