Skip to contents

CRAN DownloadsCRAN Version

Simplified statistical analysis with plain-English interpretation for R

Overview

statease is an R package that runs a wide range of statistical analyses and tells you in plain English what the results mean. No more copy-pasting output into interpretation guides. One function call gives you the full picture.

Installation

install.packages("statease")

For the development version from GitHub:

# install.packages("devtools")
devtools::install_github("DevWebWacky/statease")

Functions

Function What it does
analyze() Master function - auto-detects and runs the right test
describe() Descriptive statistics with interpretation
ttest_interpret() T-tests with Cohen’s d and CI interpretation
anova_interpret() One-way ANOVA with Tukey post-hoc and eta squared
anova2_interpret() Two-way ANOVA with interaction effects
manova_interpret() MANOVA with Pillai’s trace and follow-up ANOVAs
chisq_interpret() Chi-square test with Cramer’s V effect size
cor_interpret() Correlation analysis (Pearson, Spearman, Kendall)
reg_interpret() Simple linear regression with diagnostics
mlr_interpret() Multiple linear regression with diagnostics
logistic_interpret() Logistic regression with odds ratios
mannwhitney_interpret() Mann-Whitney U test (non-parametric)
wilcoxon_interpret() Wilcoxon Signed Rank test (non-parametric)
kruskal_interpret() Kruskal-Wallis test with post-hoc comparisons
interpret_p() Standalone p-value interpreter

Usage

One command does it all

library(statease)

# Descriptive statistics
analyze(x = c(23, 45, 12, 67, 34), var_name = "Exam Scores")

# Independent samples t-test (auto-detected)
analyze(x = c(23,45,12,67,34), y = c(19,38,22,51,29),
        var_name = "Scores")

# Non-parametric alternative (auto-detected)
analyze(x = c(23,45,12,67,34), y = c(19,38,22,51,29),
        nonparam = TRUE, var_name = "Scores")

# Correlation (auto-detected)
analyze(x = c(23,45,12,67,34), y = c(19,38,22,51,29),
        var1_name = "Exam Score", var2_name = "Study Hours")

# Chi-square (auto-detected)
analyze(
  x = c("Yes","No","Yes","Yes","No"),
  y = c("Male","Female","Male","Female","Male")
)

# One-way ANOVA (auto-detected)
df <- data.frame(
  score = c(23,45,12,67,34,89,56,43,78,90,11,34),
  group = rep(c("A","B","C"), each = 4)
)
analyze(formula = score ~ group, data = df)

# Kruskal-Wallis (non-parametric ANOVA alternative)
analyze(formula = score ~ group, data = df, nonparam = TRUE)

# Two-way ANOVA (auto-detected)
df2 <- data.frame(
  score  = c(23,45,12,67,34,89,56,43,78,90,11,34),
  method = rep(c("Online","Traditional"), each = 6),
  gender = rep(c("Male","Female"), times = 6)
)
analyze(formula = score ~ method * gender, data = df2)

# Simple linear regression (auto-detected)
df3 <- data.frame(
  exam_score  = c(23,45,12,67,34,89,56,43,78,90),
  study_hours = c(2,5,1,7,3,9,6,4,8,10)
)
analyze(formula = exam_score ~ study_hours, data = df3)

# Multiple linear regression (auto-detected)
df4 <- data.frame(
  exam_score  = c(23,45,12,67,34,89,56,43,78,90),
  study_hours = c(2,5,1,7,3,9,6,4,8,10),
  attendance  = c(60,80,50,90,70,95,85,75,88,92)
)
analyze(formula = exam_score ~ study_hours + attendance, data = df4)

# MANOVA (auto-detected)
df5 <- data.frame(
  math    = c(23,45,12,67,34,89,56,43,78,90,11,34),
  english = c(34,56,23,78,45,90,67,54,89,95,22,45),
  group   = rep(c("A","B","C"), each = 4)
)
analyze(formula = cbind(math, english) ~ group, data = df5)

# Interpret any p-value
interpret_p(0.03, context = "treatment vs control group")

Why statease?

Most R output gives you numbers. statease gives you numbers + meaning. Perfect for: - Students learning statistics - Researchers who want fast readable output - Educators teaching statistical concepts

Changelog

v1.2.0

v1.1.0

License

MIT