MyNixOS website logo
Description

Automated Statistical Analysis, Visualization and Multi-Format Narrative Reporting.

Provides automated statistical analysis, rich visualization, and multi-format narrative reporting through a unified pipeline. Descriptive statistics are available via easy_describe() and easy_group_summary(). Inferential tests with plain-language narratives are provided by easy_regression(), easy_logistic_regression(), easy_ttest(), easy_anova(), easy_chisq(), easy_ztest(), easy_ftest(), easy_correlation(), easy_wilcox(), and easy_kruskal(). Publication-ready 'ggplot2' visualizations are produced by easy_histogram(), easy_boxplot(), easy_scatter(), easy_barplot(), easy_qqplot(), easy_density(), easy_correlation_heatmap(), easy_regression_diagnostics(), and easy_odds_ratio_plot(). The core Narrative Generator Module applies conditional logic to extracted p-values, effect sizes, and model-fit metrics to produce statistically sound, human-readable explanations automatically. Results render in the 'RStudio' Viewer (HTML), the console (ASCII), or export directly to Microsoft Word via 'flextable' and 'officer'.

EasyStat EasyStat logo

CRAN status R-CMD-check License: MIT pkgdown

Automated Statistical Analysis, Visualization, and Multi-Format Narrative Reporting in R

Authors: Mr. Mahesh Divakaran & Dr. Gunjan Singh (Amity School of Applied Sciences, Amity University Lucknow) - Prof. Dr. Jayadevan Shreedharan (Gulf Medical University)

Overview

EasyStat bridges the gap between statistical output and actionable insight. A single function call delivers the statistical result, a plain-language narrative interpretation, and publication-ready tables, rendered in the RStudio Viewer, the R console, or Microsoft Word.

User-facing p-values are reported as percentages rounded to 4 decimal places, while raw model objects still retain the original numeric p-values for advanced use.

Installation

# From CRAN (when available)
install.packages("EasyStat")

# Development version from GitHub
# install.packages("devtools")
devtools::install_github("itsmdivakaran/Easystat")

# From local source
install.packages("path/to/EasyStat", repos = NULL, type = "source")

Quick Start

library(EasyStat)

# Linear regression with narrative
easy_regression(mpg ~ wt + hp, data = mtcars)

# Logistic regression with odds ratios
easy_logistic_regression(am ~ mpg + wt, data = mtcars)

# t-test
easy_ttest(mpg ~ am, data = mtcars)

# One-way ANOVA
easy_anova(Sepal.Length ~ Species, data = iris)

# Descriptive statistics for multiple variables
easy_describe(mtcars, vars = c("mpg", "hp", "wt"))

# Correlation heatmap
easy_correlation_heatmap(mtcars, vars = c("mpg", "hp", "wt", "qsec", "drat"))

# Export any result to Word
result <- easy_logistic_regression(am ~ mpg + wt, data = mtcars)
export_to_word(result, file = "report.docx", title = "Transmission Model",
               author = "Mahesh Divakaran, Gunjan Singh, Jayadevan Shreedharan")

Four-Step Pipeline

StepModuleRole
1Core Statistical EngineWraps lm(), glm(), t.test(), aov(), chisq.test(), var.test(), cor.test()
2Metric ExtractorUses model summaries and broom helpers to extract p-values, effect sizes, CIs, and fit metrics
3Narrative Generator ModuleApplies conditional logic to produce plain-language explanations
4Unified Result ObjectReturns easystat_result S3 objects with tables, narrative, and optional plots

Function Reference

Descriptive Statistics

FunctionDescription
easy_describe()21-statistic summary for one or more numeric variables
easy_group_summary()Stratified descriptives by a grouping factor

Regression Models

FunctionModelKey Output
easy_regression()Linear regressionR-squared, ANOVA table, diagnostics, influential observations
easy_logistic_regression()Binary logistic regressionOdds ratios, OR CIs, classification table, McFadden pseudo-R2

Inferential Tests

FunctionTestEffect Size
easy_ttest()Independent / one-sample t-testCohen's d
easy_anova()One-way ANOVA with post-hoc contexteta-squared
easy_chisq()Chi-square independence and GOFCramér's V
easy_ztest()One- and two-sample z-testCohen's d
easy_ftest()F-test for equality of variancesVariance ratio + CI
easy_correlation()Pearson / Spearman / Kendall correlation and matrixr, r-squared
easy_wilcox()Wilcoxon rank-sum / signed-rank testMedian comparison + CI
easy_kruskal()Kruskal-Wallis testRank-based eta-squared

Visualizations

FunctionPlot type
easy_histogram()Histogram with normal-curve overlay
easy_boxplot()Grouped box-and-whisker plot
easy_scatter()Scatter plot with regression line and R-squared
easy_barplot()Count or mean (+/- SE) bar chart
easy_qqplot()Q-Q normality plot
easy_density()Kernel density curve, optionally grouped
easy_correlation_heatmap()Annotated pairwise correlation heatmap
easy_regression_diagnostics()Fitted-vs-residuals diagnostic plot
easy_odds_ratio_plot()Logistic regression odds-ratio plot
easy_autoplot()Smart dispatcher that picks the right plot for a result

Theme & Export

FunctionDescription
theme_easystat()Consistent ggplot2 theme for all plots
export_to_word()Formatted .docx report with flextable and officer

Output Modes

ModeTrigger
RStudio HTML ViewerAuto-detected in interactive sessions
ConsoleScripts, terminals, non-interactive sessions
Word .docxexport_to_word()

Running the Smoke Test

source(system.file("smoke_test.R", package = "EasyStat"))

Citation

If you use EasyStat in your research, please cite:

Divakaran M., Singh G., & Shreedharan J. (2026). EasyStat: Automated Statistical Analysis, Visualization and Multi-Format Narrative Reporting in R (Version 2.0.0). Amity University Lucknow & Gulf Medical University. https://itsmdivakaran.github.io/Easystat/index.html

License

MIT (c) 2026 EasyStat Authors. See LICENSE for details.

Metadata

Version

2.0.0

License

Unknown

Platforms (80)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    uefi
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-uefi
  • aarch64-windows
  • aarch64_be-none
  • arc-linux
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-linux
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • sh4-linux
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-uefi
  • x86_64-windows