Examples
All examples are available in the examples/ directory and produce both
human-readable (.txt) and structured (.json) output.
Example 1: Basic t-test
Figure 1. Box plot with individual data points, significance bracket, p-value, and effect size — generated from the unified result dictionary.
import scitex_stats as ss
import numpy as np
rng = np.random.default_rng(42)
group1 = rng.normal(loc=0.0, scale=1.0, size=30)
group2 = rng.normal(loc=0.5, scale=1.0, size=30)
result = ss.run_test("ttest_ind", data=group1, data2=group2)
print(result["formatted"])
# t = -2.923, p = 0.0049, Cohen's d = -0.755, **
Output:
Independent t-test
========================================
t-statistic: -2.9233
p-value: 0.0049
Effect size (Cohen's d): -0.7548
Formatted: t = -2.923, p = 0.0049, Cohen's d = -0.755, **
Example 2: Automatic Test Recommendation
import scitex_stats as ss
ctx = ss.StatContext(
n_groups=2,
sample_sizes=[30, 32],
outcome_type="continuous",
design="between",
paired=False,
has_control_group=False,
n_factors=1,
)
recs = ss.recommend_tests(ctx, top_k=5)
print(recs)
# ['brunner_munzel', 'ttest_ind', 'mannwhitneyu']
Output:
Test Recommendations
========================================
1. brunner_munzel
2. ttest_ind
3. mannwhitneyu
Example 3: Multiple Comparison Correction
from scitex_stats import correct
results = [
{"pvalue": 0.01, "var_x": "A", "var_y": "B"},
{"pvalue": 0.04, "var_x": "A", "var_y": "C"},
{"pvalue": 0.03, "var_x": "A", "var_y": "D"},
{"pvalue": 0.20, "var_x": "B", "var_y": "C"},
{"pvalue": 0.005, "var_x": "B", "var_y": "D"},
{"pvalue": 0.08, "var_x": "C", "var_y": "D"},
]
corrected = correct.correct_fdr(results, alpha=0.05, method="bh")
Output:
Multiple Comparison Correction (FDR-BH)
==================================================
Comparison Original Adjusted Rejected
---------------------------------------------
AvB 0.0100 0.0300 Yes
AvC 0.0400 0.0600 No
AvD 0.0300 0.0600 No
BvC 0.2000 0.2000 No
BvD 0.0050 0.0300 Yes
CvD 0.0800 0.0960 No