How LabCanvas Graph statistics are validated
Every analysis is checked number by number against established statistical software before each release: 33,775 automated checks across 12 test suites, all passing on 31 October 2026.
What is checked, and against what
For each area, reference values are produced by an independent, widely used implementation and stored with the code. The checks run every LabCanvas statistic through both the statistics library and the analysis layer (the same path the app uses) and compare the two to the stated tolerance.
| Area | What is checked | Reference software | Checks |
|---|---|---|---|
| Column analyses | Descriptive statistics, normality tests, t and rank tests, one-way ANOVA family with post-hoc tests (Tukey, Dunnett, Holm–Šídák, Dunn), Welch and Brown–Forsythe | SciPy, statsmodels, pingouin, scikit-posthocs, R | 1,423 |
| Contingency tables and power | Chi-square, Fisher’s exact, McNemar, relative risk and odds ratio with CIs, observed vs expected, sample size and power | SciPy 1.18.1, statsmodels 0.15.0, R 4.3.3 | 2,510 |
| Cox regression, exact ties | Exact partial likelihood for tied times, predicted survival curves for chosen covariate values with confidence bands, median survival | R 4.3.3, survival 3.5.8 | 2,885 |
| Nonlinear regression | Least-squares fits with weighting, standard errors, profile-likelihood intervals, comparing fits (extra sum-of-squares F, AICc), interpolation | SciPy 1.18.1, R 4.3.3 | 758 |
| Agreement (Cohen’s kappa) | Unweighted, linear- and quadratic-weighted kappa with standard errors and confidence intervals | statsmodels 0.15.0, scikit-learn 1.9.1, R 4.3.3 psych 2.4.1, vcd 1.4.12 | 663 |
| ANOVA and mixed models | Two- and three-way ANOVA, repeated measures with Geisser–Greenhouse ε, mixed-effects models with Satterthwaite and Kenward–Roger degrees of freedom, estimated marginal means | R 4.3, lme4 1.1-35, lmerTest 3.1-3, pbkrtest 0.5.2, emmeans 1.10, car 3.1, afex 1.3 | 8,567 |
| Equation library | Every built-in curve model, including dose–response (bell-shaped, biphasic), enzyme kinetics, exponential and growth models | SciPy 1.18.1, SymPy 1.14.0; bell-shaped also R nls | 6,651 |
| Outliers | ROUT and Grubbs’ test, against an independent implementation, a textbook example and simulations | SciPy 1.18.1; NIST e-Handbook Grubbs example | 334 |
| Regression | Multiple linear, logistic and Poisson regression, Deming regression, comparing lines, runs and replicates tests, Kendall’s τ, principal component analysis | statsmodels 0.15.0, SciPy 1.18.1, scikit-learn 1.9.1, R glm/confint | 1,597 |
| Survival analysis | Kaplan–Meier with confidence bands, log-rank and Gehan–Breslow–Wilcoxon tests, hazard ratios, Cox regression (Efron and Breslow ties) | R 4.3.3, survival 3.5.8; lifelines 0.30.3 | 3,523 |
| Transforms and curves | Area under the curve with its SE, splines, LOWESS, Savitzky–Golay smoothing, derivatives, integrals, histograms, P value adjustment | NumPy, SciPy, statsmodels | 3,392 |
| Core statistics library | Distributions and special functions, descriptive statistics, t and rank tests, ANOVA, correlation, Kaplan–Meier, log-rank | SciPy 1.18.1, statsmodels 0.15.0, lifelines 0.30.3 | 1,472 |
| Total | 33,775 |
Tolerances
- Closed-form results (test statistics, P values, confidence limits, effect sizes): within 10⁻⁹ of the reference, relative.
- Iterative fits (nonlinear regression, mixed models, Cox and logistic regression): within 10⁻⁶, relative, unless a check states a looser bound and why.
- Graphs are drawn from reference data and read back point by point in separate checks, so a plotted value is the computed value.
Methods are named in the results
Results say which method produced each number (for example “Geisser–Greenhouse ε”, “Kenward–Roger df”, “Efron ties”, “Koopman asymptotic score interval”), and every analysis gives a ready-to-paste “How to report” sentence. That is what reviewers and journal statistics checklists ask for, and it lets anyone repeat the analysis in another package.
How to cite
Statistical analyses were performed in LabCanvas Graph (www.labcanvas.com, accessed month year). Then name the test, its options and the multiple-comparisons method, as shown in the “How to report” box.
Frequently asked questions
How do I cite LabCanvas Graph in a paper?
Name the software, its web address and when you used it, then the test and its options, for example: “Statistical analyses were performed in LabCanvas Graph (www.labcanvas.com, accessed October 2026). Groups were compared by one-way ANOVA with Tukey’s multiple comparisons test.” The “How to report” box under every result gives the sentence with the numbers filled in.
How do I know a result is right?
Each analysis in LabCanvas Graph is compared, number by number, with established statistical software (R, SciPy, statsmodels, lifelines, scikit-learn) on reference data, in automated checks that must pass before a release. The results also name the method used, such as the Geisser–Greenhouse correction or Kenward–Roger degrees of freedom, so you can repeat the analysis elsewhere.
How close do the numbers have to be?
Closed-form results (t, F, χ², P values, confidence limits) must match the reference to within one part in a billion (10⁻⁹, relative); results from iterative fitting (nonlinear regression, mixed models, Cox regression) to within one part in a million (10⁻⁶).
Will I get the same numbers as GraphPad Prism?
For the standard methods, yes: they are the same mathematics, checked against the same reference software. Where Prism uses a specific option (for example a correction or a degrees-of-freedom method), LabCanvas offers it under the same name. A few Prism defaults could only be confirmed from secondary sources, so very small differences are possible in edge cases; the method named in the results tells you exactly what was done.
What is not covered yet?
The Geisser–Greenhouse correction for mixed-effects models with missing values is not offered, because there is no reference implementation to validate it against; Cox regression has no strata; Prism’s .prism files must be saved as .pzfx before opening.
Questions or a result that looks wrong? Email labcanvasapp@gmail.com with the data; we check every report. See also the free GraphPad Prism alternative and our editorial guidelines.