Package {statease}


Title: Simplified Statistical Analysis with Plain-English Interpretation
Version: 1.1.0
Description: A toolkit for common statistical analyses including descriptive statistics, Student's t-tests (one-sample, independent, and paired), one-way and two-way Analysis of Variance (ANOVA), chi-square tests, correlation analysis, and simple linear regression. Each function automatically interprets results in plain English, reporting effect sizes (Cohen's d, eta-squared, Cramer's V, R-squared), confidence intervals, and p-value interpretations. Post-hoc Tukey Honestly Significant Difference (HSD) tests are automatically applied following significant ANOVA results. A master function automatically detects the appropriate test based on the structure of the input data. Methods are based on Cohen, J. (1988) <doi:10.4324/9780203771587>, Tukey, J. W. (1949) <doi:10.2307/3001913>, and Shapiro and Wilk (1965) <doi:10.2307/2333709>.
License: MIT + file LICENSE
Encoding: UTF-8
URL: https://github.com/DevWebWacky/statease
BugReports: https://github.com/DevWebWacky/statease/issues
Config/roxygen2/version: 8.0.0
NeedsCompilation: no
Packaged: 2026-05-16 17:39:08 UTC; Wacky
Author: Uwakmfon Paul [aut, cre, cph]
Maintainer: Uwakmfon Paul <uwakmfon31@gmail.com>
Repository: CRAN
Date/Publication: 2026-05-16 22:00:02 UTC

statease: Simplified Statistical Analysis with Plain-English Interpretation

Description

statease provides a suite of functions for performing common statistical analyses and automatically interpreting the results in plain English. It is designed for students, researchers, and educators who want fast, readable statistical output without sacrificing rigour.

Main Functions

analyze

Master function — auto-detects and runs the right test

describe

Descriptive statistics with interpretation

ttest_interpret

T-tests (one-sample, independent, paired) with Cohen's d

anova_interpret

One-way ANOVA with Tukey post-hoc and eta squared

interpret_p

Standalone p-value interpreter

Typical Workflow

The simplest way to use statease is through the master analyze() function, which automatically detects what test to run based on your input:

# Descriptive statistics
analyze(x = my_vector, var_name = "My Variable")

# Independent samples t-test
analyze(x = group1, y = group2, var_name = "Scores")

# One-way ANOVA
analyze(formula = score ~ group, data = my_df)

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

Author(s)

Uwakmfon Usen Paul

See Also

Useful links:


Master Analysis Function - Auto-detects and runs the right test

Description

Master Analysis Function - Auto-detects and runs the right test

Usage

analyze(
  x = NULL,
  y = NULL,
  data = NULL,
  formula = NULL,
  mu = 0,
  paired = FALSE,
  conf.level = 0.95,
  var_name = "Variable",
  var1_name = "Variable 1",
  var2_name = "Variable 2",
  method = "pearson"
)

Arguments

x

A numeric vector (required always)

y

A numeric vector, factor, or character group variable (optional)

data

A data frame (required if using a formula)

formula

A formula of the form outcome ~ predictor or outcome ~ group1 * group2 (optional)

mu

Hypothesised mean for one-sample t-test. Default 0.

paired

Logical. TRUE for paired t-test. Default FALSE.

conf.level

Confidence level. Default 0.95.

var_name

Optional label for the report.

var1_name

Optional name for first variable in correlation.

var2_name

Optional name for second variable in correlation.

method

Correlation method: "pearson", "spearman", or "kendall". Default "pearson".

Value

A printed analysis report from the appropriate test

Examples

# Descriptive only
analyze(x = c(23, 45, 12, 67, 34))

# Auto t-test
analyze(x = c(23,45,12,67,34), y = c(19,38,22,51,29))

# Auto correlation
analyze(x = c(23,45,12,67,34), y = c(19,38,22,51,29),
        var1_name = "Scores", var2_name = "Hours")

# Auto One-Way ANOVA
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)

# Auto Two-Way ANOVA
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)

# Auto Regression
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)

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

Two-Way ANOVA with Plain-English Interpretation

Description

Two-Way ANOVA with Plain-English Interpretation

Usage

anova2_interpret(formula, data, conf.level = 0.95)

Arguments

formula

A formula of the form outcome ~ group1 * group2

data

A data frame containing the variables

conf.level

Confidence level. Default 0.95.

Value

An object of class statease_anova2 containing two-way ANOVA results and interpretation. Use print() to display the formatted report.

Examples

df <- 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)
)
result <- anova2_interpret(score ~ method * gender, data = df)
print(result)

One-Way ANOVA with Post-Hoc Tukey and Plain-English Interpretation

Description

One-Way ANOVA with Post-Hoc Tukey and Plain-English Interpretation

Usage

anova_interpret(formula, data, conf.level = 0.95)

Arguments

formula

A formula of the form outcome ~ group

data

A data frame containing the variables

conf.level

Confidence level. Default 0.95

Value

An object of class statease_anova containing ANOVA results, effect size, and post-hoc comparisons. Use print() to display the formatted report.

Examples

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)
)
result <- anova_interpret(score ~ group, data = df)
print(result)

Chi-Square Test with Plain-English Interpretation

Description

Chi-Square Test with Plain-English Interpretation

Usage

chisq_interpret(x, y, correct = TRUE, conf.level = 0.95)

Arguments

x

A factor or character vector (first categorical variable)

y

A factor or character vector (second categorical variable)

correct

Logical. Apply Yates continuity correction. Default TRUE.

conf.level

Confidence level. Default 0.95.

Value

An object of class statease_chisq containing test results and interpretation. Use print() to display the formatted report.

Examples

x <- c("Yes","No","Yes","Yes","No","Yes","No","No","Yes","Yes")
y <- c("Male","Female","Male","Female","Male","Female","Male","Female","Male","Female")
result <- chisq_interpret(x, y)
print(result)

Correlation Analysis with Plain-English Interpretation

Description

Correlation Analysis with Plain-English Interpretation

Usage

cor_interpret(
  x,
  y,
  method = "pearson",
  conf.level = 0.95,
  var1_name = "Variable 1",
  var2_name = "Variable 2"
)

Arguments

x

A numeric vector

y

A numeric vector

method

Correlation method: "pearson", "spearman", or "kendall". Default "pearson".

conf.level

Confidence level. Default 0.95.

var1_name

Optional name for first variable. Default "Variable 1"

var2_name

Optional name for second variable. Default "Variable 2"

Value

An object of class statease_cor containing correlation results and interpretation. Use print() to display the formatted report.

Examples

x <- c(23, 45, 12, 67, 34, 89, 56, 43, 78, 90)
y <- c(19, 42, 15, 70, 30, 85, 52, 48, 80, 88)
result <- cor_interpret(x, y)
print(result)

Descriptive Statistics with Interpretation

Description

Descriptive Statistics with Interpretation

Usage

describe(x, var_name = "Variable")

Arguments

x

A numeric vector

var_name

Optional name for the variable (used in the report)

Value

An object of class statease_describe containing descriptive statistics and interpretation. Use print() to display the formatted report.

Examples

result <- describe(c(23, 45, 12, 67, 34, 89, 56))
print(result)

Standalone P-Value Interpreter

Description

Standalone P-Value Interpreter

Usage

interpret_p(p, alpha = 0.05, context = NULL)

Arguments

p

A numeric p-value between 0 and 1

alpha

Significance level. Default 0.05

context

Optional string describing the test context

Value

An object of class statease_pvalue containing the p-value interpretation. Use print() to display the report.

Examples

result <- interpret_p(0.03)
print(result)

result2 <- interpret_p(0.12, alpha = 0.05, context = "treatment vs control")
print(result2)

Simple Linear Regression with Plain-English Interpretation

Description

Simple Linear Regression with Plain-English Interpretation

Usage

reg_interpret(formula, data, conf.level = 0.95)

Arguments

formula

A formula of the form outcome ~ predictor

data

A data frame containing the variables

conf.level

Confidence level. Default 0.95.

Value

An object of class statease_reg containing regression results and interpretation. Use print() to display the formatted report.

Examples

df <- 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)
)
result <- reg_interpret(exam_score ~ study_hours, data = df)
print(result)

T-Test with Plain-English Interpretation

Description

T-Test with Plain-English Interpretation

Usage

ttest_interpret(
  x,
  y = NULL,
  mu = 0,
  paired = FALSE,
  conf.level = 0.95,
  var_name = "Variable"
)

Arguments

x

A numeric vector (group 1, or the only group for one-sample)

y

A numeric vector (group 2, for independent samples). Default NULL.

mu

Hypothesised mean for one-sample t-test. Default 0.

paired

Logical. TRUE for paired t-test. Default FALSE.

conf.level

Confidence level. Default 0.95.

var_name

Optional label for the report. Default "Variable"

Value

An object of class statease_ttest containing test results and interpretation. Use print() to display the formatted report.

Examples

result <- ttest_interpret(c(23,45,12,67,34), c(19,38,22,51,29))
print(result)