visStatistics: Automated Selection and Visualisation of Statistical Hypothesis Tests

The right test, visualised. 'visStatistics' automatically selects and visualises statistical hypothesis tests comparing two vectors, based on their class, distribution, and sample size. Visual outputs, including box plots, bar charts, regression lines with confidence bands, mosaic plots, residual plots, and Q-Q plots, are annotated with relevant test statistics, assumption checks, and post-hoc analyses where applicable. The algorithmic workflow shifts attention from ad-hoc test selection to visual diagnostic assessment and statistical interpretation. It is particularly suited for server-side R applications, where end users interact solely through a web interface to select data groups and receive a complete visual statistical analysis automatically. The same automation makes it useful in time-constrained contexts such as statistical consulting, where it reduces effort spent on test selection and leaves more room for interpretation. The implemented tests cover the most frequently applied inferential methods in biomedical research (Hayat et al. (2017) <doi:10.1371/journal.pone.0179032>). The test selection algorithm proceeds as follows: Input vectors of class numeric or integer are considered numerical; those of class factor are considered categorical; those of class ordered are considered ordinal. Assumptions of residual normality and homogeneity of variances are considered met if the corresponding test yields a p-value greater than the significance level alpha = 1 - conf.level. (1) When the response is numerical and the predictor is categorical, a test comparing central tendencies is selected. If every group contains more than 50 observations, the sampling distribution of the group means is assumed approximately normal by the central limit theorem (Lumley et al. (2002) <doi:10.1146/annurev.publhealth.23.100901.140546>); otherwise, residual normality is assessed using shapiro.test() applied to the standardised residuals of lm(). If normality is not met, wilcox.test() is used when the predictor has two levels and kruskal.test() followed by pairwise.wilcox.test() otherwise. If normality is met, levene.test() assesses variance homogeneity. For two-level predictors, Student's t.test(var.equal = TRUE) is applied if variances are homogeneous and Welch's t.test() otherwise. For predictors with more than two levels, aov() followed by TukeyHSD() is applied if variances are homogeneous, and oneway.test() followed by games.howell() otherwise. (2) When both vectors are numerical, lm() is fitted by default (correlation = FALSE). If correlation = TRUE, Spearman rank correlation is performed. (3) When the response is ordinal, it is converted to numeric ranks and the non-parametric path from (1) is followed (Wilcoxon or Kruskal-Wallis). When both variables are ordinal and correlation = TRUE, Kendall's tau_b is used instead. (4) When both vectors are categorical, Cochran's rule (Cochran (1954) <doi:10.2307/3001666>) is applied to test independence either by chisq.test() or fisher.test().

Version: 0.2.0
Imports: Cairo, graphics, grDevices, grid, multcompView, nortest, stats, utils, vcd
Suggests: knitr, rmarkdown, spelling, testthat (≥ 3.0.0)
Published: 2026-05-12
DOI: 10.32614/CRAN.package.visStatistics
Author: Sabine Schilling ORCID iD [cre, aut, cph] (year: 2026), Peter Kauf [ctb]
Maintainer: Sabine Schilling <sabineschilling at gmx.ch>
BugReports: https://github.com/shhschilling/visStatistics/issues
License: MIT + file LICENSE
URL: https://github.com/shhschilling/visStatistics, https://shhschilling.github.io/visStatistics/
NeedsCompilation: no
Language: en-GB
Materials: README, NEWS
In views: TeachingStatistics
CRAN checks: visStatistics results

Documentation:

Reference manual: visStatistics.html , visStatistics.pdf
Vignettes: visStatistics: The right test, visualised (source, R code)

Downloads:

Package source: visStatistics_0.2.0.tar.gz
Windows binaries: r-devel: visStatistics_0.1.7.zip, r-release: visStatistics_0.2.0.zip, r-oldrel: visStatistics_0.1.7.zip
macOS binaries: r-release (arm64): visStatistics_0.2.0.tgz, r-oldrel (arm64): visStatistics_0.2.0.tgz, r-release (x86_64): visStatistics_0.2.0.tgz, r-oldrel (x86_64): visStatistics_0.2.0.tgz
Old sources: visStatistics archive

Linking:

Please use the canonical form https://CRAN.R-project.org/package=visStatistics to link to this page.