boxTest
The boxTest package provides a simple way to compare two groups using boxplots and statistical tests. It automatically checks normality (via Shapiro–Wilk test) and then applies the appropriate test:
- Independent 2-sample t-test (if both groups are normally distributed)
- Mann–Whitney U test (if at least one group is non-normal)
It also generates a publication-ready boxplot with jittered points.
Installation
From GitHub (development version)
# install.packages("remotes") # if not already installed
remotes::install_github("arka1985/boxTest")From CRAN (once accepted)
install.packages("boxTest")From tar.gz release
Download the .tar.gz file from Releases and install locally:
install.packages("path/to/boxTest_0.1.0.tar.gz", repos = NULL, type = "source")Example
library(boxTest)
# Create a sample dataset: Male and Female BMI
df <- data.frame(
gender = rep(c("Male", "Female"), each = 10),
BMI = c(22, 24, 25, 23, 26, 28, 24, 23, 27, 25,
21, 22, 23, 20, 24, 22, 21, 23, 22, 21)
)
# Compare BMI between Male and Female
res <- compare_two_groups(df, "BMI", "gender")
# Show the boxplot
print(res$plot)
# Normality test results
print(res$normality)
# Test summary (t-test or Mann–Whitney U)
print(res$test_summary)Output
res$plot→ A ggplot object showing the boxplot with jittered pointsres$normality→ Shapiro–Wilk test results for each groupres$test_summary→ Test used, statistic, df (if applicable), and p-value
Authors
- Arkaprabha Sau (Author & Maintainer)
- Santanu Phadikar (Author)
- Ishita Bhakta (Author)