Skip to main content

chi_squared_independence

Function chi_squared_independence 

Source
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);