This vignette reports the SPSS-compatibility status of every statistical function in mariposa. It is auto-generated from the test suite and the validation exception registry.
Generated: 2026-07-03
Summary
- Functions in SPSS-validation scope: 50
- With validation tests in place: 39
- Validation gaps (no test file yet): 11
- Active Tier-3 algorithmic exceptions: 0
Tier Definitions
Every numerical comparison between an R-side value and an SPSS reference falls into one of four tiers (Charter §4):
- Spec — exact integers and SPSS-truncated sentinels (exact match)
- Display — SPSS rounds for print; tolerance is half a unit of the last printed decimal
-
Exception — documented algorithmic difference; see
VALIDATION_EXCEPTIONS.md - Internal — statistic has no SPSS equivalent; verified via snapshot tests only
Per-Function Status
The columns show how many assert_spss() calls per tier
the validation file contains. “Total” is the total number of
charter-compliant assertions.
The “Internal (Tier 4)” column flags statistics that have no SPSS
reference and are therefore R-only: for the rank-based family the
weighted variant (SPSS NPAR TESTS and
NONPAR CORR ignore WEIGHT BY); for
reliability, McDonald’s omega in all paths (IBM does not
publicly document the SPSS omega algorithm; an SPSS v29 reference run is
pending). Tier-4 statistics are covered by internal regression and
cross-check tests plus a weights-equal-1 invariance suite instead of
SPSS references. (mann_whitney’s weighted variant is a
design-based rank test additionally validated against
survey::svyranktest().) All other statistics of these
functions are SPSS-validated as shown in the tier columns.
| Function | Status | Spec | Display | Exception | Total | Internal (Tier 4) |
|---|---|---|---|---|---|---|
ancova |
compliant | 1 | 5 | 0 | 6 | — |
binomial_test |
compliant | 2 | 3 | 0 | 5 | weighted variant |
center |
not validated | — | — | — | — | — |
chi_square |
compliant | 2 | 6 | 0 | 8 | — |
chisq_gof |
compliant | 2 | 2 | 0 | 4 | — |
codebook |
not validated | — | — | — | — | — |
cramers_v |
not validated | — | — | — | — | — |
crosstab |
compliant | 4 | 2 | 0 | 6 | — |
describe |
compliant | 2 | 3 | 0 | 5 | — |
dunn_test |
compliant | 0 | 1 | 0 | 1 | weighted variant |
efa |
compliant | 1 | 7 | 0 | 8 | — |
factorial_anova |
compliant | 1 | 5 | 0 | 6 | — |
fisher_test |
compliant | 1 | 3 | 0 | 4 | — |
frequency |
compliant | 2 | 5 | 0 | 7 | — |
friedman_test |
compliant | 3 | 3 | 0 | 6 | weighted variant |
goodman_gamma |
not validated | — | — | — | — | — |
kendall_tau |
compliant | 4 | 6 | 0 | 10 | weighted variant |
kruskal_wallis |
compliant | 5 | 3 | 0 | 8 | weighted variant |
levene_test |
compliant | 0 | 2 | 0 | 2 | — |
linear_regression |
compliant | 4 | 23 | 0 | 27 | — |
logistic_regression |
compliant | 7 | 9 | 0 | 16 | — |
mann_whitney |
compliant | 2 | 8 | 0 | 10 | weighted variant |
mcnemar_test |
compliant | 3 | 1 | 0 | 4 | — |
oneway_anova |
compliant | 6 | 16 | 0 | 22 | — |
pairwise_wilcoxon |
compliant | 0 | 1 | 0 | 1 | weighted variant |
pearson_cor |
compliant | 2 | 5 | 0 | 7 | — |
phi |
not validated | — | — | — | — | — |
pomps |
not validated | — | — | — | — | — |
rec |
not validated | — | — | — | — | — |
reliability |
compliant | 1 | 5 | 0 | 6 | McDonald’s omega (all paths) |
row_count |
not validated | — | — | — | — | — |
row_means |
not validated | — | — | — | — | — |
row_sums |
not validated | — | — | — | — | — |
scheffe_test |
compliant | 0 | 2 | 0 | 2 | — |
spearman_rho |
compliant | 2 | 2 | 0 | 4 | — |
std |
not validated | — | — | — | — | — |
t_test |
compliant | 2 | 30 | 0 | 32 | — |
tukey_test |
compliant | 0 | 4 | 0 | 4 | — |
w_iqr |
compliant | 0 | 19 | 0 | 19 | — |
w_kurtosis |
compliant | 0 | 19 | 0 | 19 | — |
w_mean |
compliant | 0 | 19 | 0 | 19 | — |
w_median |
compliant | 0 | 19 | 0 | 19 | — |
w_modus |
compliant | 0 | 19 | 0 | 19 | — |
w_quantile |
compliant | 0 | 19 | 0 | 19 | — |
w_range |
compliant | 0 | 19 | 0 | 19 | — |
w_sd |
compliant | 0 | 19 | 0 | 19 | — |
w_se |
compliant | 0 | 19 | 0 | 19 | — |
w_skew |
compliant | 0 | 19 | 0 | 19 | — |
w_var |
compliant | 0 | 19 | 0 | 19 | — |
wilcoxon_test |
compliant | 6 | 6 | 0 | 12 | weighted variant |
Active Exceptions
No active Tier-3 exceptions. All validated statistics agree with SPSS within Spec or Display tolerances.
Validation Gaps
The following functions are in SPSS-validation scope (per Charter §9)
but do not yet have a test-<fn>-spss-validation.R
file:
centercodebookcramers_vgoodman_gammaphipompsrecrow_countrow_meansrow_sumsstd
How to Read “SPSS-Compatible”
A function is SPSS-compatible when:
- It has a validation test file (column “Status: compliant”)
- Its Legacy column is zero
- Every value it asserts falls into Spec, Display, or a registered Exception
- It carries no
NAplaceholders in itsspss_valuesblock
Functions with non-zero Legacy counts are mid-migration and not yet Charter-compliant; their assertions may pass but do not yet enforce the documented tolerance policy.
Methodology
All validation runs SPSS v29 syntax scripts in
tests/spss_reference/syntax/ against
tests/spss_reference/data/, saves the output to
tests/spss_reference/outputs/, and asserts the R-side
computation matches via assert_spss() from the validation
helpers in tests/testthat/. Inline cached values in test
files cite their source line via trailing
# <output_file>:<line> comments; the dev-only
script tests/spss_reference/verify_inline.R audits this
citation chain before every release.
