🧠 MindStat

User Guide

Everything you need to get started with MindStat Suite and make full use of its features

🚀 Quick Start

Run your first analysis in under two minutes — no installation, no sign-up, everything runs in your browser.

  1. 1
    Open mindstat.pro in your browser — every feature is available instantly with no setup.
  2. 2
    From the main page (Home), pick the module that matches your research and click "Open App".
  3. 3
    Load your data: import CSV / Excel / SPSS, type it directly, or paste from Excel with Ctrl+V.
  4. 4
    From the sidebar choose the test, map variables, then press the blue run button or Ctrl+Enter.
  5. 5
    Read the results, click Verify with R Engine, or open the Statistical Assistant for interpretation.
  6. 6
    Export from the 📤 Export button (PDF, Word, Excel, CSV) or print with Ctrl+P.
💡 Press ? (question mark) anywhere inside the app to open the keyboard shortcuts modal.

🧩 Modules Hub — What's Inside

The main page (mindstat.pro) is a hub that groups MindStat into 9 specialized modules. Each card opens a dedicated workspace with its own tests, forms, and charts.

📊 Statistical Analysis
The main workspace with 50+ tests plus Bayesian, Bootstrap, and Mixed Models as built-in panels.
🩺 Biostatistics & Medical
Survival analysis, ROC curves, epidemiology, and clinical trial calculations.
📈 Econometrics
ARIMA, VAR, GARCH, cointegration, panel data, Granger causality, unit root tests.
🗺️ Spatial Statistics
Moran's I, Geary's C, spatial autocorrelation, density maps, SAR/SEM models.
🧠 SEM / CFA Modeling
Structural equation modeling, confirmatory factor analysis, path diagrams, fit indices.
🧪 Experimental Design
CRD, RCBD, Latin Square, Factorial, Split-Plot, ANCOVA, RSM.
🏭 SPC & Quality
Control charts (X̄-R, I-MR, p, np, c, u) and process capability indices.
📋 SPSS Interpreter
Paste any SPSS output table and get an instant plain-language + APA 7 interpretation.
🎯 Psychometrics
Reliability (α, ω), item analysis, IRT basics, scale validation.
💡 Bayesian Statistics, Bootstrap & Permutation, and Mixed Models are not separate hub cards — you access them from inside the Statistical Analysis module's sidebar.

📂 Import Data

Supported Formats

CSV / TSV
UTF-8 files. Separator (comma, semicolon, tab) is auto-detected.
Excel (.xlsx)
Parsed via SheetJS; the first sheet is loaded automatically.
SPSS (.sav)
Read directly in the browser — labels and missing codes are preserved.
Manual Entry
Type directly into the grid, or paste from Excel with Ctrl+V.

Data Formatting Rules

  • The first row must contain column names (variable headers).
  • International numeral formats are auto-converted to standard numbers.
  • Empty cells, 'NA', and 'NaN' are all treated as missing values.
  • Avoid merged cells, multi-row headers, and hidden sheets in Excel.
  • Keep datasets under ~10 MB for smooth performance.
🔒 Your data never leaves the browser — parsing, analysis, and storage all happen locally.

🏷️ Variable Types

After import, MindStat auto-detects each column's type. You can override the type at any time by clicking the type badge above the column header.

🔢 Metric — Continuous / numeric 🏷️ Nominal — Unordered categories 📊 Ordinal — Ordered categories

How auto-detection works

  • Columns where most values are numeric → Metric.
  • Few unique text values → Nominal.
  • Integer columns with ≤ 7 distinct values (Likert-like) → Ordinal.
💡 Setting the correct type decides which tests appear as options — categorical unlocks Chi-square and non-parametric tests; metric unlocks t-tests, ANOVA, and regression.

🧰 Data Wrangling (Transform Panel)

Before analyzing, you often need to reshape, clean, or derive new variables. Open the 🛠 Transform panel from the Statistical Analysis sidebar — it bundles six operations:

🔄 Reshape
Pivot long ↔ wide — before running repeated-measures ANOVA or mixed models.
🔍 Filter
Keep only rows matching a condition (e.g., age > 30, group = 'treatment').
🧮 Compute
Create a new variable from a formula (log, sqrt, z-score, BMI…).
✂️ Split & Analyze
Run the current analysis separately for each level of a grouping variable.
🔗 Merge
Join a second dataset on a shared key column (inner, left, outer).
🏷 Recode
Convert values to new ones (e.g., bin continuous variable into groups).
↩️ Every transformation is undoable — Ctrl+Z to roll back, Ctrl+Y / Ctrl+Shift+Z to redo.

▶️ Running Analyses

MindStat ships with 50+ tests in the core Statistical Analysis module alone, plus dozens more across the specialized modules. The workflow is identical in every module:

  1. 1
    From the sidebar, open the category you need (Descriptive, Hypothesis, Correlation, Regression, Non-parametric, Mediation, Power…).
  2. 2
    Pick a specific test from the panel's dropdown.
  3. 3
    Map variables to the required roles (DV, grouping factor, covariates, time, event…).
  4. 4
    Press the blue run button (label varies: ▶ Run, ▶ Analyze, ▶ Draw, ▶ Calculate…) or hit Ctrl+Enter.
  5. 5
    Results appear instantly: tables, interactive Plotly charts, assumption checks, effect sizes, and a plain-language interpretation.
Every chart is interactive — hover, drag-to-zoom, double-click to reset, and use Plotly's camera icon to save as PNG.

Analysis History

Every analysis you run is logged automatically. Open the 📋 History button in the toolbar to re-open past results or re-run a test.

📦 Batch Analysis & Data Quality

Batch Analysis

Run the same test across many dependent variables at once — perfect for scale reliability, survey batteries, or screening multiple biomarkers.

  • Pick the test type in the Batch panel.
  • Select multiple dependent variables (Ctrl/Cmd-click).
  • Click 📦 Run Batch — results appear in one summary table.
  • Click 📥 Export to download the full batch report.

Data Quality Dashboard

Before you trust any analysis, check the health of your dataset via the 🔍 Data Quality button:

  • Missing-value counts and percentages per column
  • Outlier detection (IQR and z-score rules)
  • Duplicate row detection
  • Distribution skewness and kurtosis warnings per numeric variable
  • Automatic type-mismatch flags

🗺️ Which Test Should I Use?

Use this decision guide to map your research question, data type, sample size, and normality to the correct statistical test.

💡 When in doubt, ask the Statistical Assistant — describe your data and question in plain language and it will recommend the most appropriate test.
t-Tests / Mean Comparisons
Non-parametric
ANOVA Family
Correlation
Regression
Categorical / Chi-Square
Reliability
My research question Data type n Normality → Use this test
Compare ONE group to a fixed value Metric Any Normal One-sample t-test
Compare ONE group to a fixed value Metric Any Non-normal Wilcoxon Signed-rank
Compare TWO independent groups Metric Any Normal Independent t-test (Welch)
Compare TWO independent groups Metric Any Non-normal Mann-Whitney U
Compare TWO related/paired groups Metric Any Normal Paired t-test
Compare TWO related/paired groups Metric Any Non-normal Wilcoxon Signed-rank
Compare THREE+ independent groups Metric Any Normal One-Way ANOVA
Compare THREE+ independent groups Metric Any Non-normal Kruskal-Wallis
Compare THREE+ related measurements Metric Any Normal Repeated-Measures ANOVA
Compare THREE+ related measurements Metric Any Non-normal Friedman Test
Relationship between 2 metric variables Both Metric Any Normal Pearson r
Relationship between 2 ordinal/non-normal Ordinal Any Any Spearman ρ
Predict one variable from another Metric ≥ 20 Normal residuals Linear Regression
Predict binary outcome Binary DV ≥ 50 Any Logistic Regression
Association between categorical variables Categorical n ≥ 20 N/A Chi-Square
Association between categorical variables Categorical n < 20 N/A Fisher's Exact
Scale reliability Ordinal / Metric ≥ 30 N/A Cronbach's Alpha

📘 Statistical Reference — Formulas & When to Use

A concise academic reference for the tests you will use most often in MindStat — what each test answers, when it applies, its assumptions, the underlying formula, and how to read the output.

📐 Mathematical formulas are rendered with MathJax. Use this section alongside the Statistical Assistant for deeper explanations.
1 · Descriptive Statistics
Arithmetic Mean M, x̄
The centre of gravity of a numeric variable.
$$\bar{x} = \frac{1}{n}\sum_{i=1}^{n} x_i$$
When
Use with metric variables that are roughly symmetric and free of extreme outliers.
Read as
Report with SD: M = 42.3 (SD = 5.1).
Sample Standard Deviation SD, s
Average distance of observations from the mean.
$$s = \sqrt{\frac{1}{n-1}\sum_{i=1}^{n}(x_i - \bar{x})^2}$$
Why n-1
Bessel's correction gives an unbiased estimate of the population variance.
Read as
Small SD → clustered near mean; large SD → spread out.
Standard Error of the Mean SE, SEM
$$SE = \frac{s}{\sqrt{n}}$$
Meaning
Expected variability of the sample mean across repeated samples — basis of every CI and t-test.
Skewness & Kurtosis
$$g_1 = \frac{1}{n}\sum\left(\frac{x_i - \bar{x}}{s}\right)^3 \qquad g_2 = \frac{1}{n}\sum\left(\frac{x_i - \bar{x}}{s}\right)^4 - 3$$
Rule of thumb
|skew| < 1 and |kurtosis| < 1 is usually normal enough for parametric tests.
2 · Normality & Assumption Checks
Shapiro-Wilk Test W
Gold standard for testing whether a sample comes from a normal distribution.
$$W = \frac{\left(\sum_{i=1}^{n} a_i x_{(i)}\right)^2}{\sum_{i=1}^{n}(x_i - \bar{x})^2}$$
H₀
The data are drawn from a normal distribution.
Decision
p < .05 → reject normality. Valid for 3 ≤ n ≤ 5000.
Caveat
With huge samples it rejects tiny deviations — always inspect a Q-Q plot too.
Levene's Test F
$$W = \frac{(N-k)}{(k-1)} \cdot \frac{\sum_{i=1}^{k} n_i (\bar{z}_{i\cdot} - \bar{z}_{\cdot\cdot})^2}{\sum_{i=1}^{k}\sum_{j=1}^{n_i}(z_{ij} - \bar{z}_{i\cdot})^2}$$
Where
z_ij = |x_ij − median_i| (the Brown-Forsythe robust variant MindStat uses).
Purpose
Checks the equal-variances assumption before pooled t-tests or ANOVA. If p < .05 use Welch.
3 · t-Tests (Comparing Means)
One-Sample t-test t
Does a single sample mean differ from a known reference value?
μ₀ −t_crit +t_crit α/2 α/2
Two-tailed t distribution — red = rejection regions (α/2 each).
$$t = \frac{\bar{x} - \mu_0}{s / \sqrt{n}}, \qquad df = n - 1$$
Assumptions
  • Metric continuous outcome
  • Independent observations
  • Approximately normal distribution (or n ≥ 30)
Effect size
Cohen's d = (x̄ − μ₀) / s · small 0.2, medium 0.5, large 0.8
In MindStat
Hypothesis Tests → "One-sample t-test" (Ctrl+H).
Independent-Samples t-test t
Do two independent groups differ on average?
$$t = \frac{\bar{x}_1 - \bar{x}_2}{\sqrt{s_p^2\left(\frac{1}{n_1} + \frac{1}{n_2}\right)}}, \quad s_p^2 = \frac{(n_1-1)s_1^2 + (n_2-1)s_2^2}{n_1 + n_2 - 2}$$
Welch variant
When variances are unequal (Levene p < .05), MindStat switches to Welch's t automatically.
Effect size
Cohen's d = (x̄₁ − x̄₂) / s_p
Paired-Samples t-test t
Do the same subjects differ between two measurements (pre/post)?
$$t = \frac{\bar{d}}{s_d / \sqrt{n}}, \qquad df = n - 1$$
Where
d_i = x_{i,2} − x_{i,1}, the per-subject difference.
Use for
Pre-post intervention studies, matched pairs, within-subject designs.
4 · Analysis of Variance (ANOVA)
One-Way ANOVA F
Compares the means of three or more independent groups.
F_crit reject H₀ F ≥ 0 (right-skewed)
F is right-skewed — only large values reject H₀.
$$F = \frac{MS_{between}}{MS_{within}} = \frac{SS_B / (k-1)}{SS_W / (N-k)}$$
SS between
$SS_B = \sum_{i=1}^{k} n_i (\bar{x}_i - \bar{x})^2$
SS within
$SS_W = \sum_{i=1}^{k}\sum_{j=1}^{n_i} (x_{ij} - \bar{x}_i)^2$
Effect size
η² = SS_B / SS_total · small .01, medium .06, large .14
Post-hoc
On significant F, MindStat runs Tukey HSD or Games-Howell automatically.
Two-Way ANOVA
Tests two factors and their interaction on a single outcome.
$$Y_{ijk} = \mu + \alpha_i + \beta_j + (\alpha\beta)_{ij} + \varepsilon_{ijk}$$
Partition
SS_total = SS_A + SS_B + SS_{AB} + SS_{error}
Read interaction first
If A×B is significant, interpret simple effects — main effects alone lose meaning.
Repeated-Measures ANOVA
Compares 3+ measurements on the same subjects.
$$F = \frac{MS_{treatment}}{MS_{subject \times treatment}}$$
Sphericity
Mauchly's W — if violated, MindStat applies Greenhouse-Geisser or Huynh-Feldt correction automatically.
Use for
Longitudinal studies, pre/mid/post designs, crossover trials.
ANCOVA
Compares group means after adjusting for continuous covariates.
$$Y_{ij} = \mu + \tau_i + \beta(X_{ij} - \bar{X}) + \varepsilon_{ij}$$
Key assumption
Slopes must be equal across groups — tested by the group × covariate interaction.
Output
Adjusted marginal means with 95% CIs + an F test on the adjusted group effect.
MANOVA
Compares group means on multiple correlated dependent variables simultaneously.
$$\Lambda_{\text{Wilks}} = \frac{|\mathbf{E}|}{|\mathbf{H} + \mathbf{E}|}$$
Statistics
Wilks' Λ, Pillai, Hotelling-Lawley, Roy's largest root — MindStat reports all four.
Assumption
Multivariate normality + equal covariance matrices (Box's M).
5 · Non-parametric Alternatives
Mann-Whitney U Test U
Non-parametric alternative to the independent-samples t-test.
$$U_1 = n_1 n_2 + \frac{n_1(n_1+1)}{2} - R_1, \qquad U = \min(U_1, U_2)$$
Use when
Data are ordinal, skewed, or contain outliers.
Effect size
r = Z / √N
Wilcoxon Signed-Rank Test W
Non-parametric paired t-test alternative.
$$W^{+} = \sum_{i=1}^{n} \mathbb{1}(d_i > 0) \cdot \text{rank}(|d_i|)$$
Use when
Paired differences are not normal, or the outcome is ordinal.
Kruskal-Wallis Test H
Non-parametric one-way ANOVA for 3+ groups.
$$H = \frac{12}{N(N+1)}\sum_{i=1}^{k}\frac{R_i^2}{n_i} - 3(N+1)$$
Post-hoc
Dunn's test with Bonferroni adjustment (auto-run on significance).
6 · Correlation
Pearson Correlation r
Strength and direction of a linear relationship.
r ≈ +0.95 r ≈ +0.45 r ≈ 0 r ≈ −0.95
Four scatter plots: strong positive → none → strong negative.
$$r = \frac{\sum_{i=1}^{n}(x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum_{i=1}^{n}(x_i - \bar{x})^2 \sum_{i=1}^{n}(y_i - \bar{y})^2}}$$
Range
−1 ≤ r ≤ +1
Interpretation
|r| ≈ 0.1 weak, 0.3 moderate, 0.5 strong, 0.7+ very strong.
Warning
Correlation ≠ causation. Inspect the scatter plot first.
Spearman's ρ ρ
$$\rho = 1 - \frac{6 \sum_{i=1}^{n} d_i^2}{n(n^2 - 1)}$$
Use when
Variables are ordinal, monotonic-but-nonlinear, or have outliers.
7 · Regression
Simple Linear Regression OLS
Predict Y from a single predictor X.
X Y ŷ = β₀ + β₁x
OLS minimizes the sum of squared residuals (red segments).
$$\hat{y}_i = \beta_0 + \beta_1 x_i, \qquad \beta_1 = \frac{\sum (x_i - \bar{x})(y_i - \bar{y})}{\sum (x_i - \bar{x})^2}$$
Fit quality
$R^2 = 1 - \dfrac{SS_{res}}{SS_{tot}}$ — proportion of variance in Y explained by X.
Assumptions
  • Linearity between X and Y
  • Normally distributed residuals
  • Homoscedasticity
  • Independence of observations
Multiple Linear Regression
$$\hat{\boldsymbol{\beta}} = (X^{\top} X)^{-1} X^{\top} \boldsymbol{y}$$
Multicollinearity
Check VIF: values > 5 (strict > 10) → predictors are redundant. MindStat reports VIF per coefficient.
Adj. R²
$R_{adj}^2 = 1 - (1 - R^2)\dfrac{n - 1}{n - k - 1}$
Logistic Regression
Predict a binary (0/1) outcome.
$$\Pr(Y=1 \mid X) = \frac{1}{1 + e^{-(\beta_0 + \beta_1 x_1 + \dots + \beta_k x_k)}}$$
Odds ratio
$OR = e^{\beta_j}$ — multiplicative change in odds per one-unit ↑ in X_j.
Fit check
Hosmer-Lemeshow + ROC / AUC (auto-reported).
Ordinal Logistic Regression polr
Predict an ordinal outcome (≥ 3 levels) — proportional odds model.
$$\log\frac{P(Y \le j \mid \mathbf{x})}{P(Y > j \mid \mathbf{x})} = \alpha_j - \mathbf{x}'\boldsymbol{\beta}, \quad j = 1,\ldots,J-1$$
Brant test
H₀: common β across binary logits. p < .05 → violation.
Use when
Outcome has a natural order (e.g., Likert scale, pain level 1–5).
Multinomial Logistic Regression multinom
Predict a nominal outcome (≥ 3 unordered categories).
$$\log\frac{P(Y=j \mid \mathbf{x})}{P(Y=0 \mid \mathbf{x})} = \alpha_j + \mathbf{x}'\boldsymbol{\beta}_j, \quad j = 1,\ldots,J-1$$
IIA assumption
IIA tested via Hausman-McFadden (reported in output).
Use when
Outcome has 3+ unordered categories (party choice, transport mode, etc.).
ZIP / ZINB
Count regression with excess zeros — structural + sampling-zero mixture.
$$P(Y=0) = \pi + (1-\pi)e^{-\mu}, \quad P(Y=k) = (1-\pi)\frac{e^{-\mu}\mu^k}{k!}, \; k \ge 1$$
Model selection
Vuong test (vs Poisson) + LR test (ZIP vs ZINB). AIC reported automatically.
Use when
Count data (Y ≥ 0 integer) with excess zeros (e.g., doctor visits, claims).
Variance Inflation Factor VIF
Quantifies multicollinearity in a regression model.
$$VIF_j = \frac{1}{1 - R_j^2}$$
Where
$R_j^2$ = R² when X_j is regressed on all other predictors.
Cut-offs
< 5 OK · 5-10 concern · > 10 serious — drop or combine variables.
Durbin-Watson DW
Detects first-order autocorrelation in regression residuals.
$$DW = \frac{\sum_{t=2}^{n}(e_t - e_{t-1})^2}{\sum_{t=1}^{n} e_t^2}$$
Interpretation
DW ≈ 2 → no autocorrelation · < 1.5 positive · > 2.5 negative.
Use when
Data are ordered in time — independent-error assumption is critical.
Breusch-Pagan χ²
Detects heteroscedasticity in regression residuals.
$$BP = n \cdot R^2_{\,e^2 \sim X}$$
Procedure
Regress squared residuals on predictors; BP ~ χ²(k).
Remedy
p < .05 → use White / HC3 robust standard errors (one-click switch in MindStat).
8 · Tests for Categorical Data
Chi-Square of Independence χ²
Are two categorical variables associated?
$$\chi^2 = \sum_{i=1}^{r}\sum_{j=1}^{c} \frac{(O_{ij} - E_{ij})^2}{E_{ij}}, \qquad E_{ij} = \frac{R_i \cdot C_j}{N}$$
df
(r − 1)(c − 1)
Assumption
E ≥ 5 in 80%+ of cells — else MindStat switches to Fisher's exact test.
Effect size
Cramér's V = √(χ² / (N · min(r−1, c−1)))
Fisher's Exact Test
$$p = \frac{\binom{a+b}{a}\binom{c+d}{c}}{\binom{n}{a+c}}$$
Use when
2×2 table with small / zero expected counts — exact p, no approximation.
McNemar's Test
Paired χ² — for matched 2×2 dichotomous data (pre/post yes-no).
$$\chi^2_{McN} = \frac{(|b - c| - 1)^2}{b + c}$$
b, c
Off-diagonal cells (discordant pairs: yes→no and no→yes).
Use for
Diagnostic test agreement, pre/post treatment success-failure, case-control pairs.
Kolmogorov-Smirnov KS, D
Compares an empirical distribution against a reference (or two samples).
$$D_n = \sup_{x} \left| F_n(x) - F(x) \right|$$
Use for
Normality check (alt. to Shapiro-Wilk) or two-sample distribution comparison.
9 · Survival Analysis (Biostatistics)
Kaplan-Meier Estimator
Time (t) S(t) 1.0 0.0 Treatment Control
Survival drops at each event; upward ticks mark censored subjects.
$$\hat{S}(t) = \prod_{t_i \le t} \left(1 - \frac{d_i}{n_i}\right)$$
Where
d_i = events at t_i, n_i = subjects at risk just before t_i.
Output
A stepped survival curve with 95% CI bands and a risk table.
Log-rank Test χ²
Compares survival curves of 2 or more groups.
$$\chi^2_{LR} = \sum_{i=1}^{k} \frac{(O_i - E_i)^2}{E_i}$$
Assumption
Proportional hazards — hazard ratio is constant over time.
Cox Proportional-Hazards
$$h(t \mid X) = h_0(t) \cdot \exp(\beta_1 x_1 + \beta_2 x_2 + \dots + \beta_k x_k)$$
Hazard ratio
$HR = e^{\beta_j}$ — HR > 1 ↑ risk, HR < 1 ↓ risk.
10 · Reliability & Psychometrics
Cronbach's Alpha α
Internal-consistency reliability for a set of items.
$$\alpha = \frac{k}{k-1}\left(1 - \frac{\sum_{i=1}^{k} s_i^2}{s_{total}^2}\right)$$
Acceptable
α ≥ .70 — research scale; ≥ .80 — clinical use; ≥ .90 — individual decisions.
Alternative
McDonald's ω is preferred for unequal loadings — also in the Psychometrics module.
Friedman Test χ²_r
Non-parametric alternative to Repeated-Measures ANOVA — compares 3+ related measurements by ranks.
$$\chi^2_r = \frac{12}{nk(k+1)}\sum_{j=1}^{k}R_j^2 - 3n(k+1)$$
Where
n = number of subjects, k = number of conditions, R_j = column rank sum for condition j.
df
k − 1
Post-hoc
Wilcoxon Signed-rank tests with Bonferroni correction for pairwise comparisons.
Use when
Data are ordinal, RM-ANOVA assumptions violated, or distributions are non-normal.
In MindStat
Non-parametric → Friedman Test.
Intraclass Correlation (ICC) ICC
Measures reliability of ratings when multiple raters assess the same subjects.
$$ICC(A,1) = \frac{MS_{BMS} - MS_{WMS}}{MS_{BMS} + (k-1) \cdot MS_{WMS}}$$
Where
MS_BMS = MS between subjects; MS_WMS = MS within subjects; k = number of raters.
Interpretation
< 0.50 poor · 0.50–0.75 moderate · 0.75–0.90 good · > 0.90 excellent (Koo & Mae 2016).
Variants
ICC(1,1) one-way random; ICC(2,1) two-way random; ICC(3,1) two-way fixed. Always report the model.
Use for
Inter-rater reliability, test-retest reliability, instrument calibration.
Cohen's Kappa κ
Categorical agreement between two raters, corrected for chance.
$$\kappa = \frac{P_o - P_e}{1 - P_e}$$
Where
P_o = observed proportion of agreement; P_e = expected agreement by chance.
Interpretation
< 0.20 slight · 0.21–0.40 fair · 0.41–0.60 moderate · 0.61–0.80 substantial · > 0.80 almost perfect.
Use for
Diagnostic agreement, coding reliability in qualitative research, clinical judgment studies.
Caveat
Kappa is sensitive to class imbalance — consider weighted kappa for ordinal categories.
Effect Size Reference Guide
Benchmarks for interpreting effect magnitude, independent of n and significance.
Guide
Statistic Test family Small Medium Large
Cohen's d t-tests 0.20 0.50 0.80
Pearson r Correlation 0.10 0.30 0.50
η² (eta-squared) ANOVA 0.01 0.06 0.14
Cohen's f ANOVA / Power 0.10 0.25 0.40
Cohen's w Chi-Square 0.10 0.30 0.50
Cramér's V Chi-Square (2×2) 0.10 0.30 0.50
Regression 0.02 0.13 0.26
Note
Cohen (1988) benchmarks are discipline-independent guidelines. A 'small' effect may still be clinically or practically important depending on context.
11 · SEM / CFA Fit Indices
Model χ²
Tests whether model-implied covariance = observed covariance.
$$\chi^2 = (n - 1) \cdot F_{ML}(\mathbf{S}, \boldsymbol{\Sigma}(\hat{\theta}))$$
Caveat
Very sensitive to large n — always inspect CFI/TLI/RMSEA/SRMR together.
CFI / TLI
$$CFI = 1 - \frac{\max(\chi^2_M - df_M,\ 0)}{\max(\chi^2_M - df_M,\ \chi^2_B - df_B,\ 0)}$$
$$TLI = \frac{(\chi^2_B / df_B) - (\chi^2_M / df_M)}{(\chi^2_B / df_B) - 1}$$
Cut-offs
≥ .90 acceptable · ≥ .95 good fit (Hu & Bentler 1999).
Difference
CFI vs baseline · TLI adds complexity penalty.
RMSEA
$$RMSEA = \sqrt{\max\!\left(\frac{\chi^2 - df}{df(n - 1)},\ 0\right)}$$
Cut-offs
≤ .05 close · ≤ .08 reasonable · > .10 poor. Always report the 90% CI.
SRMR
$$SRMR = \sqrt{\frac{2}{p(p+1)} \sum_{i=1}^{p}\sum_{j=1}^{i} \left(\frac{s_{ij} - \hat{\sigma}_{ij}}{s_{ii}^{1/2} s_{jj}^{1/2}}\right)^2}$$
Cut-off
< .08 indicates acceptable fit — less sensitive to n than χ².
In MindStat
SEM / CFA module reports all indices + AIC/BIC on every model fit.
12 · Time Series (Econometrics)
ACF / PACF
First step in diagnosing AR / MA structure of a time series.
$$\rho_k = \frac{\sum_{t=k+1}^{n}(y_t - \bar{y})(y_{t-k} - \bar{y})}{\sum_{t=1}^{n}(y_t - \bar{y})^2}$$
Reading
ACF spikes → MA(q) · PACF spikes → AR(p). Bars inside the 95% band are non-significant.
ARIMA(p, d, q)
The workhorse of univariate time-series forecasting.
$$\left(1 - \sum_{i=1}^{p}\phi_i L^i\right)(1 - L)^d y_t = \left(1 + \sum_{j=1}^{q}\theta_j L^j\right)\varepsilon_t$$
p, d, q
p = AR order · d = differencing for stationarity · q = MA order.
Model selection
Use auto.arima() (AIC/BIC minimization) — MindStat also checks residual white-noise.
ADF Test
Unit-root test — stationary or needs differencing?
$$\Delta y_t = \alpha + \beta t + \gamma y_{t-1} + \sum_{i=1}^{p}\delta_i \Delta y_{t-i} + \varepsilon_t$$
H₀
γ = 0, series has a unit root (non-stationary).
Decision
p < .05 → reject non-stationarity. Safe to fit a stationary model.
Granger Causality F
Does X's past help predict Y beyond Y's own past?
$$y_t = \alpha + \sum_{i=1}^{p}\phi_i y_{t-i} + \sum_{j=1}^{p}\beta_j x_{t-j} + \varepsilon_t$$
H₀
All β_j = 0 → X does not Granger-cause Y. F-test restricted vs unrestricted.
Caveat
'Causality' is statistical prediction, not true cause-effect.
13 · Statistical Process Control (SPC)
Shewhart X̄-R Limits
3σ control limits for the sample mean using subgroup range.
UCL CL LCL Subgroup number
Points beyond the 3σ limits (red) signal an out-of-control process.
$$UCL_{\bar{X}} = \bar{\bar{X}} + A_2 \bar{R}, \qquad LCL_{\bar{X}} = \bar{\bar{X}} - A_2 \bar{R}$$
$$UCL_R = D_4 \bar{R}, \qquad LCL_R = D_3 \bar{R}$$
Constants
A₂, D₃, D₄ are from SPC tables, depending on subgroup size n (MindStat looks them up).
Out-of-control rules
Flags any of the 8 Western Electric / Nelson rules automatically.
Cp / Cpk / Pp / Ppk
Does the process fit inside its spec limits?
$$C_p = \frac{USL - LSL}{6\sigma}, \qquad C_{pk} = \min\!\left(\frac{USL - \mu}{3\sigma},\ \frac{\mu - LSL}{3\sigma}\right)$$
Benchmarks
Cpk ≥ 1.33 OK · 1.67 good · 2.00 Six Sigma (≈ 3.4 DPMO).
Cp vs Cpk
Cp ignores centring; Cpk penalizes drift.
14 · Spatial Statistics
Moran's I
Global measure of spatial autocorrelation.
$$I = \frac{n}{\sum_i \sum_j w_{ij}} \cdot \frac{\sum_i \sum_j w_{ij}(x_i - \bar{x})(x_j - \bar{x})}{\sum_i (x_i - \bar{x})^2}$$
Range
−1 (dispersion) ≤ I ≤ +1 (clustering), expected value ≈ −1/(n−1).
Test
Z-statistic vs the expected value under spatial randomness.
15 · Item Response Theory
2-PL IRT Model
Probability of a correct response given ability θ, difficulty b, discrimination a.
$$P(X_i = 1 \mid \theta) = \frac{1}{1 + e^{-a_i (\theta - b_i)}}$$
a — discrimination
How sharply the item separates high vs low ability. a ≥ 1 adequate.
b — difficulty
Ability level where P = 0.5. b ≈ 0 is medium-difficulty.
Output
Item Characteristic Curves + information functions (Psychometrics module).
16 · Power Analysis
Power & Sample Size
Pre-study planning — how large a sample do I need?
$$n \approx \frac{2 \left(z_{1-\alpha/2} + z_{1-\beta}\right)^2}{d^2}$$
Defaults
α = .05, power (1−β) = .80, small/medium/large d as per Cohen.
In MindStat
Power Analysis panel computes required n for t-tests, ANOVA, correlations, χ², regression.
📚 This reference is intentionally concise. For deeper derivations or worked examples, ask the Statistical Assistant — it can walk you through any formula step by step.

🟢 Verify Results with the R Engine

MindStat embeds a real R interpreter (R 4.5.1) compiled to WebAssembly via WebR — re-compute any analysis with real R code, all inside your browser, with no R installation.

  1. 1
    Look for the green ✓ Verify with R Engine button below each supported result.
  2. 2
    First click downloads the R engine (~30 MB, one-time). Expect 30-60 seconds on first use.
  3. 3
    Once ready the badge becomes '🟢 R 4.5.1 Ready' — subsequent clicks run instantly.
  4. 4
    R results are shown side-by-side with JavaScript results — green ✓ means both engines agree.
⚠️ The initial download needs internet. After the first successful load, R runs entirely locally for the rest of the session.

R packages loaded on demand

Packages are installed only on demand to keep first-load small. Typical ones include:

stats / car
t-tests, ANOVA, linear regression, Levene's test, diagnostics
survival
Kaplan-Meier, Cox proportional hazards
pwr
Power analysis and sample size calculations
lavaan
SEM, CFA, path analysis, fit indices
💡 Not every test has a Verify button — only tests where R gives meaningful cross-validation. If the button is absent, JavaScript is the single source of truth for that test.

💬 Statistical Assistant

The built-in Statistical Assistant is a specialized statistical interpretation engine. It interprets results, drafts APA 7 write-ups, suggests the right test, and explains assumptions — all in Arabic or English.

No setup, no API key, no sign-up — the assistant is ready the moment you open the app.

Where to find it

The Assistant has three entry points inside the app:

  • The floating chat button in the bottom corner — a blue rectangle labeled "Statistical Assistant".
  • An "Interpret Results" button inside every result panel — sends the current result context automatically.
  • The "Ask the Advisor" link in the sidebar — useful for general questions before running a test.

Four things it does well

📖 Interpret Results
Plain-language explanation of p-values, CIs, effect sizes, and what they mean for your research.
📝 APA 7 Write-up
Generates a publication-ready results paragraph in correct APA 7 format.
🧭 Suggest a Test
Describe your data in natural language; get a recommended test plus alternatives.
🧪 Check Assumptions
Explains assumptions, flags violations in your data, and suggests remedies.
💡 Inside the chat, press Ctrl+Enter (or Cmd+Enter) to send. Clear prompts like "Write this in APA 7" or "Is my sample normal enough?" give the best answers.

📤 Export, Print & Share

After an analysis, the Export button in the results panel offers four file formats plus native printing and a shareable link:

📄 PDF
Full report with tables and charts, ready for submission.
📝 Word (.docx)
Editable Word document — tables and text preserved for thesis/paper insertion.
📊 Excel (.xlsx)
Numerical results and data tables as a real multi-sheet .xlsx.
📋 CSV
Plain-text export of any single table — ideal for R/Python/SPSS re-import.
🖨 Print (Ctrl+P)
Native browser print with a dedicated print stylesheet.
🔗 Share Analysis
Copy a link that reopens the current analysis with the same data and settings.

🎨 Theme & Language

Dark / Light Theme

Click the 🌙 / ☀️ button in the top-right of any page to switch between dark and light themes. Your choice is saved and reapplied automatically next visit.

Arabic / English

The 🌐 button toggles the whole interface between Arabic (RTL) and English (LTR), including statistical interpretation replies. You can also force a language via URL (e.g., ?lang=ar).

When switching to Arabic, Noto Naskh Arabic is auto-loaded for crisp typography.

⌨️ Keyboard Shortcuts

Press ? inside the app any time to pop up this same list.

Ctrl + Enter
Run the current analysis
Ctrl + N
New session — reset everything
Ctrl + S
Save session (data + analyses) locally
Ctrl + D
Jump to Descriptive Statistics panel
Ctrl + H
Jump to Hypothesis Tests panel
Ctrl + R
Jump to Correlation panel
Ctrl + P
Print results (uses print stylesheet)
Ctrl + Z
Undo the last data change
Ctrl + Y
Redo
Ctrl + Shift + Z
Redo — alternative to Ctrl+Y
Ctrl + V
Paste data from Excel into the active grid cell
Alt +
Go back to the previous panel / view
Esc
Close the active dialog, modal, or loading spinner
?
Show the full keyboard shortcuts modal
💡 Shortcuts are disabled while focus is inside a text field — click outside first if they don't respond. On macOS, substitute Cmd (⌘) for Ctrl.

💾 Offline Mode & Auto-save

Everything saves automatically

MindStat writes your data, variable types, and settings into the browser's localStorage on every change. Close the tab, come back later — your session is still there.

Offline Mode (PWA)

MindStat is a Progressive Web App — a service worker caches the entire app shell on first visit. After that you can:

  • Open the app fully offline and run any JavaScript analysis.
  • Install the app to your desktop or home screen.
  • Keep data private — nothing is uploaded, ever.
⚠️ Two features need internet: (1) the one-time WebR engine download, and (2) the Statistical Assistant interpretation engine. Everything else runs locally.

💬 FAQ

Does the app save data automatically?
Yes — MindStat auto-saves to localStorage on every change. Ctrl+S creates a named checkpoint.
Does my data ever leave the browser?
No. Everything runs client-side. The only exception is the Statistical Assistant, which sends your message + results context to the interpretation engine when you use it.
Does the app work offline?
Yes, mostly. 50+ JS tests, charts, and exports all work offline. Internet is only needed for the first WebR download and the Statistical Assistant.
Why do my R results differ slightly from JavaScript results?
Tiny differences (4-5th decimal) are normal (floating-point). Bigger discrepancies are flagged — usually caused by missing values or wrong variable types.
How do I export my results?
From the 📤 Export button: PDF, Word, Excel, CSV, or print with Ctrl+P. You can also copy a Share link.
Can I cite MindStat in my thesis or paper?
Yes — cite as MindStat Suite (v1.2). Academic Statistical Analysis Platform. https://mindstat.pro. For R-verified analyses, also cite R Core Team and the relevant R package.
Can I use MindStat on mobile?
Yes — responsive design works on tablets and phones. Desktop is recommended for large datasets or SEM / mixed models.
How do I report a bug or request a feature?
Open the About page for contact details. Include your browser version, a screenshot, and reproduction steps.