Tidy Dataframes and Expressions with Statistical Details
Overview
Utilities for producing dataframes with rich details for the most common types of statistical approaches and tests: parametric, nonparametric, robust, and Bayesian t-test, one-way ANOVA, correlation analyses, contingency table analyses, and meta-analyses. The functions are pipe-friendly and provide a consistent syntax to work with tidy data. These dataframes additionally contain expressions with statistical details, and can be used in graphing packages. This package also forms the statistical processing backend for 'ggstatsplot'. References: Patil (2021) doi:10.21105/joss.03236.
- New helper
complete_subjects()prepares long-format repeated-measures data the same way the paired tests do. It drops rows that cannot be paired, validates the subject identifier, and keeps only subjects observed in every condition. Packages that plot or summarize repeated-measures data (such as{ggstatsplot}) can use it so that they work on the same observations as the statistical tests. - Repeated-measures analyses (
paired = TRUE) now validate the subject identifier viacomplete_subjects(), and thus inlong_to_wide_converter(),two_sample_test(),oneway_anova(), andpairwise_comparisons(): - A subject with more than one row in a level of
xnow gives an informative error. Previously, depending ontype, this produced list-column warnings, cryptic errors, or results that silently averaged or discarded the duplicated observations.
Show all changes in 2.2.0Hide the rest of the changes in 2.2.0
- Rows with a missing
subject.idare dropped. Previously they were treated as observations of a single shared subject. - Subjects without a row for every level of
xare dropped, just like subjects with a missing response. Previously they were counted in the reported sample size, and the Bayesian two-sample test failed. - A row with a missing
xvalue now removes only that row rather than every row of the subject. oneway_anova()withtype = "robust"andpaired = TRUEnow reports the correct Algina-Keselman-Penfield effect size and confidence interval. Previously the internal row identifier was treated as an extra condition, which inflated the estimate (e.g., 0.66 instead of 0.32 forbugs_long).- Columns in the input data that share a name with a function argument or an internal variable no longer change the results. For example, a column named
digitsorn.textinadd_expression_col()input, a grouping variable nameddigitsorcentralityincentrality_description(),aorbin Bayesianpairwise_comparisons(),pairinpairwise_contingency_table(), ores.textintidy_model_expressions()input could previously produce wrong expressions or errors. - Functions that report a sample size no longer warn that
'big.mark' and 'decimal.mark' are both ','whenoptions(OutDec = ",")is set (#146). - Corrected the documentation of Bayesian correlation columns, missing-value counts in
centrality_description(), degrees of freedom, paired sample sizes, and adjusting p-values after expressions have been generated.
From NEWS.md in the release
Install
Health
- OK13 OK2026-08-26
- NOTE11 OK, 2 NOTE2026-07-16
- OK13 OK2026-06-09
- ERROR12 OK, 1 ERROR2026-06-07
- OK14 OK2026-03-10
Documentation
- Help pages
- 19 (1 internal)includes a package overview page
- Examples that run
- 100%18 run in a plain check (7 of them under a condition)
- Exported functions with examples
- 100%
- Documented parameters
- 97%
- Return-value docs
- 93%
- Help pages citing references
- 11%
Downloads
Repository
- PRs merged (all time)
- 89%
- Median days to close, 50 most recently updated closed issues
- 100
- Median days to close, 50 most recently updated closed PRs
- 0
Stars over time
Forks over time
Releases over time
Issues over time
PRs over time
Commits over time
14 development-tooling and community-health practices detected across 9 families in the upstream repository
Checks run against github.com/indrajeetpatil/statsexpressions on 2026-10-11.
GitHub Pages site last deployed 2026-10-11
pkgdown site last built 2026-10-11, before release 2.2.0 (2026-10-17)
Show all practicesHide 5 practices
This repository shows signs of AI coding tools.
- Claude Codefirst seen 2025-12-06Named in .Rbuildignore: .claudeNamed in .gitignore: .claudePull request it wrote: opened by a project memberCommits: at least 2 crediting it in the message
- GitHub Copilotfirst seen 2026-02-05Seen in the repository: .github/promptsCommits: at least 1 crediting it in the message
- Copilot code reviewCommits: at least 2 accepting its review suggestions
Dependencies
Installing statsExpressions adds 95 packages (49 with compiled code, 80 MB of source tarballs). Heaviest: stringi 11 MB, BayesFactor 6.1 MB, ggplot2 6.0 MB.
Code & Tests
Datasets
People & History
Pick two releases to compare their code metrics.
- 2.2.0Latest
- 2.1.22026-10-09 · diff ↗
- 2.1.12026-08-24 · diff ↗
- 2.1.02026-08-21 · diff ↗
- RR 4.6.0 released · 2026-04-24
- 2.0.02026-04-23 · diff ↗ ·
removed 6 exports
%<-%, %<>%, %>%, as_tibble, p_adjust_text, tibbleadded 1 export
pairwise_contingency_table - 1.7.42026-04-05 · diff ↗
- 1.7.32026-02-05 · diff ↗
- 1.7.22025-12-06 · diff ↗
- 1.7.12025-07-27 · diff ↗
- 1.7.02025-05-10 · diff ↗
- RR 4.5.0 released · 2025-04-11
- 1.6.22024-12-02 · diff ↗
- 1.6.12024-10-31 · diff ↗
- 1.6.02024-09-08 · diff ↗
- 1.5.5
Show 41 earlier eventsHide 41 earlier events
- RR 4.4.0 released · 2024-04-24
- 1.5.4
- 1.5.32024-01-13 · diff ↗
- 1.5.22023-09-12 · diff ↗
- 1.5.12023-05-23 · diff ↗
- RR 4.3.0 released · 2023-04-21
- 1.5.02023-02-19 · diff ↗
- 1.4.02023-01-14 · diff ↗
- 1.3.62022-12-16 · diff ↗
- 1.3.5
- 1.3.42022-10-10 · diff ↗
- 1.3.32022-08-11 · diff ↗
- 1.3.2
- RR 4.2.0 released · 2022-04-22
- 1.3.12022-03-29 · diff ↗
- 1.3.02022-01-14 · diff ↗ ·
removed 3 exports
correlation, expr_template, format_numadded 1 export
add_expression_col - 1.2.02021-10-19 · diff ↗ ·
removed 4 exports
:=, bf_extractor, standardize_names, tidy_model_effectsizeadded 9 exports
%->%, %T>%, centrality_description, enframe, format_num, format_value, long_to_wide_converter, stats_type_switch, tidy_model_expressions - 1.1.02021-05-30 · diff ↗
- RR 4.1.0 released · 2021-05-18
- 1.0.12021-04-13 · diff ↗ ·
removed 6 exports
expr_contingency_tab, expr_corr_test, expr_meta_random, expr_oneway_anova, expr_t_onesample, expr_t_twosample - 1.0.02021-03-11 · diff ↗ ·
added 6 exports
contingency_table, corr_test, meta_analysis, one_sample_test, oneway_anova, two_sample_test - 0.7.12021-02-19 · diff ↗ ·
removed 2 exports
bf_expr_template, tidy_model_performanceadded 1 export
standardize_names - 0.7.02021-01-19 · diff ↗ ·
removed 13 exports
bf_contingency_tab, bf_corr_test, bf_meta_random, bf_oneway_anova, bf_ttest, expr_anova_bayes, expr_anova_nonparametric, expr_anova_parametric, expr_anova_robust, expr_t_bayes, expr_t_nonparametric, expr_t_parametric, expr_t_robustadded 5 exports
bf_expr_template, bf_extractor, expr_oneway_anova, expr_t_twosample, tidy_model_effectsize - 0.6.22020-12-08 · diff ↗
- 0.6.12020-12-01 · diff ↗ ·
removed 1 export
prioradded 2 exports
tidy_model_parameters, tidy_model_performance - 0.6.02020-10-31 · diff ↗ ·
removed 9 exports
bf_meta, expr_meta_bayes, expr_meta_parametric, expr_meta_robust, expr_onesample_proptest, long_to_wide_converter, set_cwd, signif_column, specify_decimal_padded 2 exports
bf_meta_random, expr_meta_random - 0.5.12020-10-05 · diff ↗
- 0.5.0
- 0.4.2
- RR 4.0.0 released · 2020-04-24
- 0.4.12020-04-22 · diff ↗
- 0.4.02020-04-15 · diff ↗ ·
removed 7 exports
bf_expr, bf_extractor, bf_one_sample_ttest, bf_onesample_proptest, bf_two_sample_ttest, corr_objects, expr_mann_nonparametricadded 1 export
prior - 0.3.1
- 0.3.02020-01-29 · diff ↗ ·
removed 3 exports
lm_effsize_ci, set_cwd, signif_columnadded 1 export
expr_meta_bayes - 0.2.1
- 0.2.02020-01-10 · diff ↗
- 0.1.32019-12-18 · diff ↗
- 0.1.22019-12-13 · diff ↗
- 0.1.12019-08-28 · diff ↗
- 0.1.02019-08-24
- RR 3.6.0 released · 2019-04-26
Package metadata
- First published
- 2019-08-24
- Total releases
- 49 / 7 yrs
- License
- MIT + file LICENSE OSI · relicensed from GPL-3 | file LICENSE in 1.5.5
- Minimum R
- ≥ 4.5.0
- Bundled data
- 32 KB / 3 files
- Download size
- 3.3 MB
Cite
Cite this package
Run in R for the authors' entry:
citation("statsExpressions")The package provides a citation file, so citation() returns the authors' own entry.
It points to 10.21105/joss.03236.
Cite the R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
From data release v2026-10-18, which the citation names so these numbers can be found later. More on citing and the projects behind them.