Logo Lanfrica

Peterbutao/anova-statistics-electron

Domaine:

education

Type de record:

software
Créateur:
Pet
Hôte:
Desktop application for one-way ANOVA (Completely Randomized Design) calculations, built for students at Lilongwe University of Agriculture and Natural Resources (LUANAR), Malawi. # LUANAR STATISTICS ANOVA Desktop application for one-way ANOVA (Completely Randomized Design) calculations, built for students at Lilongwe University of Agriculture and Natural Resources (LUANAR), Malawi. ## Authors - PETER BUTAWO --- ## Table of Contents 1. Tech Stack 2. ANOVA Algorithm 3. How Calculations Are Done 4. Project Structure 5. Data Flow 6. Usage Instructions --- ## Tech Stack | Layer | Technology | Purpose | |---|---|---| | **UI Framework** | Svelte 3 | Reactive component-based UI | | **Desktop Shell** | Electron | Cross-platform desktop wrapper | | **Module Bundler** | Rollup | Compiles Svelte + JS into production bundle | | **CSS Preprocessor** | Sass/SCSS | Styling with variables, nesting, mixins | | **Routing** | svelte-spa-router | Client-side single-page routing | | **Packaging** | electron-builder, electron-packager | Builds Windows/macOS/Linux distributables | | **Language** | JavaScript (ES6+) | No TypeScript; no external statistics libraries | All ANOVA computations are **hand-rolled JavaScript** — no external statistics or math libraries (e.g., no jStat, mathjs, or simple-statistics). --- ## ANOVA Algorithm The application implements **One-Way ANOVA (Completely Randomized Design)** — a statistical technique for testing whether the means of three or more independent groups (treatments) differ significantly. ### Mathematical Model $$x_{ij} = \mu + \tau_i + \varepsilon_{ij}$$ Where: - \(x_{ij}\) = the \(j\)-th observation in the \(i\)-th treatment - \(\mu\) = overall population mean - \(\tau_i\) = effect of the \(i\)-th treatment - \(\varepsilon_{ij}\) = random error (assumed ~ N(0, \(\sigma^2\))) ### Notation | Symbol | Meaning | Calculation | |---|---|---| | \(k\) | Number of treatments | Count of groups | | \(N\) | Total observations | Sum of all group sizes | | \(T_i\) | Total of treatment \(i\) | \(\sum_{j=1}^{n_i} x_{ij}\) | | \(G\) | Grand total | \(\sum_{i=1}^{k} T_i\) | | \(n_i\) | Size of treatment \(i\) | Count of …