| 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
analyzeMaster function — auto-detects and runs the right test
describeDescriptive statistics with interpretation
ttest_interpretT-tests (one-sample, independent, paired) with Cohen's d
anova_interpretOne-way ANOVA with Tukey post-hoc and eta squared
interpret_pStandalone 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:
Report bugs at https://github.com/DevWebWacky/statease/issues
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)