Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

StatChooser

An interactive statistical test advisor. A researcher answers up to four short questions about goal, design, data, and measurement, and receives a recommended test with its assumptions, runnable R code, JASP steps, and an APA reporting sentence.

StatChooser is the companion front end to the surveyframe R package. Every recommendation carries a surveyframe method ID that runs directly inside run_analysis_plan(), so the move from "which test" to a reproducible result is one paste, not a fresh lookup.

Move this to GitHub

This folder is already a plain directory, not yet a git repository. From inside it:

git init
git add .
git commit -m "Initial commit"
git branch -M main

Create an empty repository on GitHub named statchooser (no README, no licence, no .gitignore, since this folder already has them), then:

git remote add origin https://github.com/YOUR-USERNAME/statchooser.git
git push -u origin main

To publish it as a live site, open the repository's Settings, then Pages, and set Source to GitHub Actions. The included workflow at .github/workflows/deploy.yml then deploys on every push to main, with no further setup. The site will be live at https://YOUR-USERNAME.github.io/statchooser/.

Before pushing publicly, replace the placeholder URLs in data/meta.citation inside build/build_data.js with the real Pages URL, then run node build/build_data.js to regenerate the data files with the corrected citation.

Run it locally

The site is static. Any local server works:

cd statchooser
python3 -m http.server 8000
# open http://localhost:8000

A file:// open also works, except the JSON endpoints will not fetch under that scheme. Serve over HTTP to exercise the full feature set.

Build the data

The decision tree and the per-test endpoints are generated from one source file, so the logic never drifts between them:

node build/build_data.js

This writes data/decisions.json (the full question and result graph) and api/tests/{surveyframe_id}.json (one file per test). Edit build/build_data.js, never the generated files.

Cross-reference block

Each result ends with a "Part of the surveyframe ecosystem" block that cross-links the three companion projects: the surveyframe R package that runs the tests, the open textbook Quantitative Analysis with Small Samples, and StatChooser itself. The block is free of any commercial offer. Its sole purpose is visibility and mutual discovery across the three projects.

Configuration lives in one place, the RELATED array at the top of js/app.js. Each entry has a name, a short tag, a blurb, a url, and a cta. The textbook card is accented because the small-sample method is the shared anchor of the trio.

How it links to surveyframe

The two projects cite each other on purpose.

StatChooser to surveyframe: each result names a surveyframe method ID, ships a ready analysis plan entry, and points to assumption_report() and run_analysis_plan(). The Copy as prompt and Copy R plan buttons both embed the surveyframe citation, so the reference travels into any script a user generates.

surveyframe to StatChooser: the package README links here as the interactive companion, and a planned suggest_technique() helper will walk the same decisions.json offline inside R.

Both carry their own DOI through CITATION.cff, so each is independently citable and each reference list points at the other.

Files

statchooser/
  index.html            masthead, JSON-LD, font loading
  css/style.css         STIX Two Text and IBM Plex Mono
  js/app.js             tree walking, permalinks, exports, cross-reference config
  data/decisions.json   generated: questions and results
  api/tests/*.json       generated: one endpoint per test
  build/build_data.js   single source of truth
  llms.txt              manifest for AI crawlers and agents
  CITATION.cff          citation metadata
  CLAUDE.md             project context for Claude Code
  LICENSE               MIT
  .gitignore
  .github/workflows/deploy.yml   GitHub Pages auto-deploy

Scope

StatChooser covers the techniques surveyframe 0.3.2 runs, from chi-square through factorial ANOVA, regression, mediation and moderation, reliability, EFA and CFA, to CB-SEM and PLS-SEM syntax. Every recommendation also carries a plain-language example for beginners, a small-sample note covering exact tests, resampling, effect sizes, and reporting under a small n, and a ready-to-adopt sample survey skeleton (a runnable surveyframe instrument with a standard Section A demographic block and Section B onward for the study measures, whose item and scale ids already match the analysis plan), shown both as R code and as an HTML questionnaire preview that ends with a one-pipeline call to action back to surveyframe. It supports method choice. It does not replace methodological judgement or supervision, and every assumption must be verified on the researcher's own data before reporting.

Licence

MIT.

About

Which statistical test should I use? A free statistical test chooser for survey and small-sample research, companion to the surveyframe R package.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages