statsExpressions

statsExpressions: R Package for Tidy Dataframes and Expressions with Statistical Details - Published in JOSS (2021)

https://github.com/indrajeetpatil/statsexpressions

Science Score: 93.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

bayesian-inference bayesian-statistics contingency-table correlation effectsize meta-analysis parametric robust robust-statistics statistical-details statistical-tests tidy

Keywords from Contributors

blackhole gravitational-lenses meshes bayes-factors statistical-analysis pypi annotations simulations hydrology stellar
Last synced: 4 months ago · JSON representation

Repository

Tidy data frames and expressions with statistical summaries 📜

Basic Info
Statistics
  • Stars: 314
  • Watchers: 7
  • Forks: 20
  • Open Issues: 17
  • Releases: 41
Topics
bayesian-inference bayesian-statistics contingency-table correlation effectsize meta-analysis parametric robust robust-statistics statistical-details statistical-tests tidy
Created over 6 years ago · Last pushed 5 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Support Codemeta

README.Rmd

---
output: github_document
---

  

```{r}
#| echo = FALSE
options(pillar.width = Inf, pillar.bold = TRUE, pillar.subtle_num = TRUE)

knitr::opts_chunk$set(
  collapse  = TRUE,
  dpi       = 300,
  out.width = "100%",
  comment   = "#>",
  warning   = FALSE,
  message   = FALSE,
  fig.path  = "man/figures/README-"
)

set.seed(123)
suppressPackageStartupMessages(library(statsExpressions))
```

# `{statsExpressions}`: Tidy dataframes and expressions with statistical details

Status | Usage | Miscellaneous
----------------- | ----------------- | ----------------- 
[![R build status](https://github.com/IndrajeetPatil/statsExpressions/workflows/R-CMD-check/badge.svg)](https://github.com/IndrajeetPatil/statsExpressions/actions) | [![Total downloads](https://cranlogs.r-pkg.org/badges/grand-total/statsExpressions?color=blue)](https://CRAN.R-project.org/package=statsExpressions) | [![Codecov](https://codecov.io/gh/IndrajeetPatil/statsExpressions/branch/main/graph/badge.svg)](https://app.codecov.io/gh/IndrajeetPatil/statsExpressions?branch=main)
[![lifecycle](https://img.shields.io/badge/lifecycle-maturing-blue.svg)](https://lifecycle.r-lib.org/articles/stages.html) | [![Daily downloads](https://cranlogs.r-pkg.org/badges/last-day/statsExpressions?color=blue)](https://CRAN.R-project.org/package=statsExpressions) | [![DOI](https://joss.theoj.org/papers/10.21105/joss.03236/status.svg)](https://doi.org/10.21105/joss.03236) 
 
# Introduction 

```{r, child = "man/rmd-fragments/statsExpressions-package.Rmd"}
```

# Installation

| Type        | Command                                       |
| :---------- | :-------------------------------------------- |
| Release     | `install.packages("statsExpressions")`        |
| Development | `pak::pak("IndrajeetPatil/statsExpressions")` |

On Linux, `{statsExpressions}` installation may require additional system dependencies, which can be checked using:

```{r, eval=FALSE}
pak::pkg_sysreqs("statsExpressions")
```

# Citation

The package can be cited as:

```{r}
#| label = "citation",
#| comment = ""
citation("statsExpressions")
```

# General Workflow

```{r}
#| echo = FALSE,
#| out.width = "80%"
knitr::include_graphics("man/figures/card.png")
```

# Summary of functionality

```{r, child = "man/rmd-fragments/functionality.Rmd"}
```

# Tidy dataframes from statistical analysis

To illustrate the simplicity of this syntax, let's say we want to run a one-way
ANOVA. If we first run a non-parametric ANOVA and then decide to run a robust
ANOVA instead, the syntax remains the same and the statistical approach can be
modified by changing a single argument:

```{r}
#| label = "df"

mtcars %>% oneway_anova(cyl, wt, type = "nonparametric")

mtcars %>% oneway_anova(cyl, wt, type = "robust")
```

All possible output dataframes from functions are tabulated here:


Needless to say this will also work with the `kable` function to generate a
table:

```{r}
#| label = "kable"

set.seed(123)

# one-sample robust t-test
# we will leave `expression` column out; it's not needed for using only the dataframe
mtcars %>%
  one_sample_test(wt, test.value = 3, type = "robust") %>%
  dplyr::select(-expression) %>%
  knitr::kable()
```

These functions are also compatible with other popular data manipulation
packages. 

For example, let's say we want to run a one-sample *t*-test for all levels of a
certain grouping variable. We can use `dplyr` to do so:

```{r}
#| label = "grouped_df"
# for reproducibility
set.seed(123)
library(dplyr)

# grouped operation
# running one-sample test for all levels of grouping variable `cyl`
mtcars %>%
  group_by(cyl) %>%
  group_modify(~ one_sample_test(.x, wt, test.value = 3), .keep = TRUE) %>%
  ungroup()
```

# Using expressions in custom plots

Note that *expression* here means **a pre-formatted in-text statistical result**.
In addition to other details contained in the dataframe, there is also a column
titled `expression`, which contains expression with statistical details and can
be displayed in a plot.

For **all** statistical test expressions, the default template attempt to follow
the gold standard for statistical reporting.

For example, here are results from Welch's *t*-test:



Let's load the needed library for visualization:

```{r}
library(ggplot2)
```

## Expressions for centrality measure

**Note that when used in a geometric layer, the expression need to be parsed.**

```{r}
#| label = "centrality"

# displaying mean for each level of `cyl`
centrality_description(mtcars, cyl, wt) |>
  ggplot(aes(cyl, wt)) +
  geom_point() +
  geom_label(aes(label = expression), parse = TRUE)
```

Here are a few examples for supported analyses.

## Expressions for one-way ANOVAs

The returned data frame will always have a column called `expression`. 

Assuming there is only a single result you need to display in a plot, to use it in a plot, you have two options:

- extract the expression from the list column (`results_data$expression[[1]]`) without parsing
- use the list column as is, in which case you will need to parse it (`parse(text = results_data$expression)`)

If you want to display more than one expression in a plot, you will *have to* parse them.

### Between-subjects design

```{r}
#| label = "anova_rob1"

set.seed(123)
library(ggridges)

results_data <- oneway_anova(iris, Species, Sepal.Length, type = "robust")

# create a ridgeplot
ggplot(iris, aes(x = Sepal.Length, y = Species)) +
  geom_density_ridges() +
  labs(
    title = "A heteroscedastic one-way ANOVA for trimmed means",
    subtitle = results_data$expression[[1]]
  )
```

### Within-subjects design

```{r}
#| label = "anova_parametric2"

set.seed(123)
library(WRS2)
library(ggbeeswarm)

results_data <- oneway_anova(
  WineTasting,
  Wine,
  Taste,
  paired = TRUE,
  subject.id = Taster,
  type = "np"
)

ggplot2::ggplot(WineTasting, aes(Wine, Taste, color = Wine)) +
  geom_quasirandom() +
  labs(
    title = "Friedman's rank sum test",
    subtitle = parse(text = results_data$expression)
  )
```

## Expressions for two-sample tests

### Between-subjects design

```{r}
#| label = "t_two"

set.seed(123)
library(gghalves)

results_data <- two_sample_test(ToothGrowth, supp, len)

ggplot(ToothGrowth, aes(supp, len)) +
  geom_half_dotplot() +
  labs(
    title = "Two-Sample Welch's t-test",
    subtitle = parse(text = results_data$expression)
  )
```

### Within-subjects design

```{r}
#| label = "t_two_paired1"

set.seed(123)
library(tidyr)
library(PairedData)
data(PrisonStress)

# get data in tidy format
df <- pivot_longer(PrisonStress, starts_with("PSS"), names_to = "PSS", values_to = "stress")

results_data <- two_sample_test(
  data = df,
  x = PSS,
  y = stress,
  paired = TRUE,
  subject.id = Subject,
  type = "np"
)

# plot
paired.plotProfiles(PrisonStress, "PSSbefore", "PSSafter", subjects = "Subject") +
  labs(
    title = "Two-sample Wilcoxon paired test",
    subtitle = parse(text = results_data$expression)
  )
```

## Expressions for one-sample tests

```{r}
#| label = "t_one"

set.seed(123)

# dataframe with results
results_data <- one_sample_test(mtcars, wt, test.value = 3, type = "bayes")

# creating a histogram plot
ggplot(mtcars, aes(wt)) +
  geom_histogram(alpha = 0.5) +
  geom_vline(xintercept = mean(mtcars$wt), color = "red") +
  labs(subtitle = parse(text = results_data$expression))
```

## Expressions for correlation analysis

Let's look at another example where we want to run correlation analysis:

```{r}
#| label = "corr"

set.seed(123)

# dataframe with results
results_data <- corr_test(mtcars, mpg, wt, type = "nonparametric")

# create a scatter plot
ggplot(mtcars, aes(mpg, wt)) +
  geom_point() +
  geom_smooth(method = "lm", formula = y ~ x) +
  labs(
    title = "Spearman's rank correlation coefficient",
    subtitle = parse(text = results_data$expression)
  )
```

## Expressions for contingency table analysis

For categorical/nominal data - one-sample:

```{r}
#| label = "gof"

set.seed(123)

# dataframe with results
results_data <- contingency_table(
  as.data.frame(table(mpg$class)),
  Var1,
  counts = Freq,
  type = "bayes"
)

# create a pie chart
ggplot(as.data.frame(table(mpg$class)), aes(x = "", y = Freq, fill = factor(Var1))) +
  geom_bar(width = 1, stat = "identity") +
  theme(axis.line = element_blank()) +
  # cleaning up the chart and adding results from one-sample proportion test
  coord_polar(theta = "y", start = 0) +
  labs(
    fill = "Class",
    x = NULL,
    y = NULL,
    title = "Pie Chart of class (type of car)",
    caption = parse(text = results_data$expression)
  )
```

You can also use these function to get the expression in return without having
to display them in plots:

```{r}
#| label = "expr_output"

set.seed(123)

# Pearson's chi-squared test of independence
contingency_table(mtcars, am, vs)$expression[[1]]
```

## Expressions for meta-analysis

```{r}
#| label = "metaanalysis",
#| fig.height = 14,
#| fig.width = 12

set.seed(123)
library(metaviz)

# dataframe with results
results_data <- meta_analysis(dplyr::rename(mozart, estimate = d, std.error = se))

# meta-analysis forest plot with results random-effects meta-analysis
viz_forest(
  x = mozart[, c("d", "se")],
  study_labels = mozart[, "study_name"],
  xlab = "Cohen's d",
  variant = "thick",
  type = "cumulative"
) +
  labs(
    title = "Meta-analysis of Pietschnig, Voracek, and Formann (2010) on the Mozart effect",
    subtitle = parse(text = results_data$expression)
  ) +
  theme(text = element_text(size = 12))
```

# Customizing details to your liking

Sometimes you may not wish include so many details in the subtitle. In that
case, you can extract the expression and copy-paste only the part you wish to
include. For example, here only statistic and *p*-values are included:

```{r}
#| label = "custom_expr"

set.seed(123)

# extracting detailed expression
(res_expr <- oneway_anova(iris, Species, Sepal.Length, var.equal = TRUE)$expression[[1]])

# adapting the details to your liking
ggplot(iris, aes(x = Species, y = Sepal.Length)) +
  geom_boxplot() +
  labs(subtitle = ggplot2::expr(paste(
    NULL, italic("F"), "(", "2", ",", "147", ") = ", "119.26", ", ",
    italic("p"), " = ", "1.67e-31"
  )))
```

# Summary of tests and effect sizes

Here a go-to summary about statistical test carried out and the returned effect
size for each function is provided. This should be useful if one needs to find
out more information about how an argument is resolved in the underlying package
or if one wishes to browse the source code. So, for example, if you want to know
more about how one-way (between-subjects) ANOVA, you can run
`?stats::oneway.test` in your R console.

## `centrality_description`

```{r, child = "man/rmd-fragments/centrality_description.Rmd"}
```

## `oneway_anova`

```{r, child = "man/rmd-fragments/oneway_anova.Rmd"}
```

## `two_sample_test` 

```{r, child = "man/rmd-fragments/two_sample_test.Rmd"}
```

## `one_sample_test`

```{r, child = "man/rmd-fragments/one_sample_test.Rmd"}
```

## `corr_test`

```{r, child = "man/rmd-fragments/corr_test.Rmd"}
```

## `contingency_table`

```{r, child = "man/rmd-fragments/contingency_table.Rmd"}
```

## `meta_analysis`

```{r, child = "man/rmd-fragments/meta_analysis.Rmd"}
```

# Usage in `{ggstatsplot}`

Note that these functions were initially written to display results from
statistical tests on ready-made `{ggplot2}` plots implemented in `{ggstatsplot}`.

For detailed documentation, see the package website:


Here is an example from `{ggstatsplot}` of what the plots look like when the
expressions are displayed in the subtitle-



# Acknowledgments

The hexsticker and the schematic illustration of general workflow were
generously designed by Sarah Otterstetter (Max Planck Institute for Human
Development, Berlin).

# Contributing

Bug reports, suggestions, questions, and (most of all)
contributions are welcome.

Please note that this project is released with a 
[Contributor Code of Conduct](https://github.com/IndrajeetPatil/statsExpressions/blob/main/.github/CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms.

Owner

  • Name: Indrajeet Patil
  • Login: IndrajeetPatil
  • Kind: user
  • Location: Berlin, Germany

Software Engineer || Data Scientist || Former Social Psychologist and Neuroscientist

JOSS Publication

statsExpressions: R Package for Tidy Dataframes and Expressions with Statistical Details
Published
May 20, 2021
Volume 6, Issue 61, Page 3236
Authors
Indrajeet Patil ORCID
Center for Humans and Machines, Max Planck Institute for Human Development, Berlin, Germany
Editor
Mikkel Meyer Andersen ORCID
Tags
parametric statistics nonparametric statistics robust statistics Bayesian statistics tidy

CodeMeta (codemeta.json)

{
  "@context": "https://doi.org/10.5063/schema/codemeta-2.0",
  "@type": "SoftwareSourceCode",
  "identifier": "statsExpressions",
  "description": "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>.",
  "name": "statsExpressions: Tidy Dataframes and Expressions with Statistical Details",
  "relatedLink": "https://indrajeetpatil.github.io/statsExpressions/",
  "codeRepository": "https://github.com/IndrajeetPatil/statsExpressions",
  "issueTracker": "https://github.com/IndrajeetPatil/statsExpressions/issues",
  "license": "https://spdx.org/licenses/MIT",
  "version": "1.7.0.9000",
  "programmingLanguage": {
    "@type": "ComputerLanguage",
    "name": "R",
    "url": "https://r-project.org"
  },
  "runtimePlatform": "R version 4.5.0 (2025-04-11)",
  "provider": {
    "@id": "https://cran.r-project.org",
    "@type": "Organization",
    "name": "Comprehensive R Archive Network (CRAN)",
    "url": "https://cran.r-project.org"
  },
  "author": [
    {
      "@type": "Person",
      "givenName": "Indrajeet",
      "familyName": "Patil",
      "email": "patilindrajeet.science@gmail.com",
      "@id": "https://orcid.org/0000-0003-1995-6531"
    }
  ],
  "copyrightHolder": [
    {
      "@type": "Person",
      "givenName": "Indrajeet",
      "familyName": "Patil",
      "email": "patilindrajeet.science@gmail.com",
      "@id": "https://orcid.org/0000-0003-1995-6531"
    }
  ],
  "maintainer": [
    {
      "@type": "Person",
      "givenName": "Indrajeet",
      "familyName": "Patil",
      "email": "patilindrajeet.science@gmail.com",
      "@id": "https://orcid.org/0000-0003-1995-6531"
    }
  ],
  "softwareSuggestions": [
    {
      "@type": "SoftwareApplication",
      "identifier": "ggplot2",
      "name": "ggplot2",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=ggplot2"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "knitr",
      "name": "knitr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=knitr"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "metaBMA",
      "name": "metaBMA",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=metaBMA"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "metafor",
      "name": "metafor",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=metafor"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "metaplus",
      "name": "metaplus",
      "version": ">= 1.0-6",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=metaplus"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "patrick",
      "name": "patrick",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=patrick"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "rmarkdown",
      "name": "rmarkdown",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=rmarkdown"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "survival",
      "name": "survival",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=survival"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "testthat",
      "name": "testthat",
      "version": ">= 3.2.3",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=testthat"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "utils",
      "name": "utils"
    }
  ],
  "softwareRequirements": {
    "1": {
      "@type": "SoftwareApplication",
      "identifier": "R",
      "name": "R",
      "version": ">= 4.3.0"
    },
    "2": {
      "@type": "SoftwareApplication",
      "identifier": "stats",
      "name": "stats"
    },
    "3": {
      "@type": "SoftwareApplication",
      "identifier": "afex",
      "name": "afex",
      "version": ">= 1.4-1",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=afex"
    },
    "4": {
      "@type": "SoftwareApplication",
      "identifier": "BayesFactor",
      "name": "BayesFactor",
      "version": ">= 0.9.12-4.7",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=BayesFactor"
    },
    "5": {
      "@type": "SoftwareApplication",
      "identifier": "bayestestR",
      "name": "bayestestR",
      "version": ">= 0.16.1",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=bayestestR"
    },
    "6": {
      "@type": "SoftwareApplication",
      "identifier": "correlation",
      "name": "correlation",
      "version": ">= 0.8.8",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=correlation"
    },
    "7": {
      "@type": "SoftwareApplication",
      "identifier": "datawizard",
      "name": "datawizard",
      "version": ">= 1.2.0",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=datawizard"
    },
    "8": {
      "@type": "SoftwareApplication",
      "identifier": "dplyr",
      "name": "dplyr",
      "version": ">= 1.1.4",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=dplyr"
    },
    "9": {
      "@type": "SoftwareApplication",
      "identifier": "effectsize",
      "name": "effectsize",
      "version": ">= 1.0.1",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=effectsize"
    },
    "10": {
      "@type": "SoftwareApplication",
      "identifier": "glue",
      "name": "glue",
      "version": ">= 1.8.0",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=glue"
    },
    "11": {
      "@type": "SoftwareApplication",
      "identifier": "insight",
      "name": "insight",
      "version": ">= 1.3.1",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=insight"
    },
    "12": {
      "@type": "SoftwareApplication",
      "identifier": "magrittr",
      "name": "magrittr",
      "version": ">= 2.0.3",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=magrittr"
    },
    "13": {
      "@type": "SoftwareApplication",
      "identifier": "parameters",
      "name": "parameters",
      "version": ">= 0.27.0",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=parameters"
    },
    "14": {
      "@type": "SoftwareApplication",
      "identifier": "performance",
      "name": "performance",
      "version": ">= 0.15.0",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=performance"
    },
    "15": {
      "@type": "SoftwareApplication",
      "identifier": "PMCMRplus",
      "name": "PMCMRplus",
      "version": ">= 1.9.12",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=PMCMRplus"
    },
    "16": {
      "@type": "SoftwareApplication",
      "identifier": "purrr",
      "name": "purrr",
      "version": ">= 1.1.0",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=purrr"
    },
    "17": {
      "@type": "SoftwareApplication",
      "identifier": "rlang",
      "name": "rlang",
      "version": ">= 1.1.6",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=rlang"
    },
    "18": {
      "@type": "SoftwareApplication",
      "identifier": "rstantools",
      "name": "rstantools",
      "version": ">= 2.4.0",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=rstantools"
    },
    "19": {
      "@type": "SoftwareApplication",
      "identifier": "tidyr",
      "name": "tidyr",
      "version": ">= 1.3.1",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=tidyr"
    },
    "20": {
      "@type": "SoftwareApplication",
      "identifier": "withr",
      "name": "withr",
      "version": ">= 3.0.2",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=withr"
    },
    "21": {
      "@type": "SoftwareApplication",
      "identifier": "WRS2",
      "name": "WRS2",
      "version": ">= 1.1-7",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=WRS2"
    },
    "22": {
      "@type": "SoftwareApplication",
      "identifier": "zeallot",
      "name": "zeallot",
      "version": ">= 0.2.0",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=zeallot"
    },
    "SystemRequirements": null
  },
  "fileSize": "4230.396KB",
  "citation": [
    {
      "@type": "ScholarlyArticle",
      "datePublished": "2021",
      "author": [
        {
          "@type": "Person",
          "givenName": "Indrajeet",
          "familyName": "Patil"
        }
      ],
      "name": "{statsExpressions: {R} Package for Tidy Dataframes and Expressions with Statistical Details}",
      "identifier": "10.21105/joss.03236",
      "pagination": "3236",
      "@id": "https://doi.org/10.21105/joss.03236",
      "sameAs": "https://doi.org/10.21105/joss.03236",
      "isPartOf": {
        "@type": "PublicationIssue",
        "issueNumber": "61",
        "datePublished": "2021",
        "isPartOf": {
          "@type": [
            "PublicationVolume",
            "Periodical"
          ],
          "volumeNumber": "6",
          "name": "{Journal of Open Source Software}"
        }
      }
    }
  ],
  "releaseNotes": "https://github.com/IndrajeetPatil/statsExpressions/blob/master/NEWS.md",
  "readme": "https://github.com/IndrajeetPatil/statsExpressions/blob/main/README.md",
  "contIntegration": [
    "https://github.com/IndrajeetPatil/statsExpressions/actions",
    "https://app.codecov.io/gh/IndrajeetPatil/statsExpressions?branch=main"
  ],
  "developmentStatus": "https://lifecycle.r-lib.org/articles/stages.html",
  "keywords": [
    "statistical-tests",
    "statistical-details",
    "meta-analysis",
    "contingency-table",
    "robust",
    "correlation",
    "parametric",
    "bayesian-inference",
    "bayesian-statistics",
    "robust-statistics",
    "effectsize",
    "tidy"
  ]
}

Papers & Mentions

Total mentions: 1

Individual cardiovascular responsiveness to work-matched exercise within the moderate- and severe-intensity domains
Last synced: 3 months ago

GitHub Events

Total
  • Create event: 23
  • Issues event: 3
  • Release event: 4
  • Watch event: 5
  • Delete event: 20
  • Issue comment event: 5
  • Push event: 79
  • Pull request review comment event: 2
  • Pull request review event: 8
  • Pull request event: 35
Last Year
  • Create event: 23
  • Issues event: 3
  • Release event: 4
  • Watch event: 5
  • Delete event: 20
  • Issue comment event: 5
  • Push event: 79
  • Pull request review comment event: 2
  • Pull request review event: 8
  • Pull request event: 35

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 560
  • Total Committers: 4
  • Avg Commits per committer: 140.0
  • Development Distribution Score (DDS): 0.03
Past Year
  • Commits: 26
  • Committers: 2
  • Avg Commits per committer: 13.0
  • Development Distribution Score (DDS): 0.269
Top Committers
Name Email Commits
Indrajeet Patil i****8@g****m 543
dependabot[bot] 4****] 15
Michael David Wilson m****1@g****m 1
Arfon Smith a****n 1

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 35
  • Total pull requests: 154
  • Average time to close issues: 3 months
  • Average time to close pull requests: 7 days
  • Total issue authors: 12
  • Total pull request authors: 3
  • Average comments per issue: 0.97
  • Average comments per pull request: 0.78
  • Merged pull requests: 128
  • Bot issues: 0
  • Bot pull requests: 29
Past Year
  • Issues: 1
  • Pull requests: 37
  • Average time to close issues: 2 months
  • Average time to close pull requests: 8 days
  • Issue authors: 1
  • Pull request authors: 2
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.19
  • Merged pull requests: 28
  • Bot issues: 0
  • Bot pull requests: 17
Top Authors
Issue Authors
  • IndrajeetPatil (23)
  • strengejacke (4)
  • xmarti6 (1)
  • RussellGrayxd (1)
  • mfansler (1)
  • madebyafox (1)
  • Aashilbatavia (1)
  • altrabio (1)
  • csrabak (1)
  • lburleigh (1)
  • the8thday (1)
Pull Request Authors
  • IndrajeetPatil (146)
  • dependabot[bot] (38)
  • matcasti (1)
Top Labels
Issue Labels
feature :hammer: (6) documentation :books: (3) bug :bug: (3) wont fix :no_entry_sign: (2) consistency :apple: :green_apple: (2) Upkeep 🧹 (1) help wanted :heart: (1)
Pull Request Labels
dependencies (38) github_actions (6) breaking change :skull_and_crossbones: (1)

Packages

  • Total packages: 2
  • Total downloads:
    • cran 8,591 last-month
  • Total docker downloads: 763
  • Total dependent packages: 3
    (may contain duplicates)
  • Total dependent repositories: 4
    (may contain duplicates)
  • Total versions: 66
  • Total maintainers: 1
cran.r-project.org: statsExpressions

Tidy Dataframes and Expressions with Statistical Details

  • Versions: 41
  • Dependent Packages: 1
  • Dependent Repositories: 4
  • Downloads: 8,591 Last month
  • Docker Downloads: 763
Rankings
Stargazers count: 1.3%
Downloads: 3.6%
Forks count: 4.1%
Average: 8.3%
Dependent repos count: 14.8%
Dependent packages count: 17.6%
Last synced: 4 months ago
conda-forge.org: r-statsexpressions
  • Versions: 25
  • Dependent Packages: 2
  • Dependent Repositories: 0
Rankings
Dependent packages count: 19.5%
Stargazers count: 21.0%
Average: 27.5%
Dependent repos count: 34.0%
Forks count: 35.4%
Last synced: 4 months ago

Dependencies

DESCRIPTION cran
  • R >= 4.0.0 depends
  • BayesFactor >= 0.9.12 imports
  • WRS2 >= 1.1 imports
  • correlation >= 0.8.1 imports
  • datawizard >= 0.4.1 imports
  • dplyr * imports
  • effectsize >= 0.7.0 imports
  • glue * imports
  • insight >= 0.18.0 imports
  • magrittr * imports
  • parameters >= 0.18.0 imports
  • performance >= 0.8.0 imports
  • rlang * imports
  • stats * imports
  • tibble * imports
  • tidyr * imports
  • zeallot * imports
  • PMCMRplus * suggests
  • afex * suggests
  • ggplot2 * suggests
  • knitr * suggests
  • metaBMA * suggests
  • metafor * suggests
  • metaplus * suggests
  • purrr * suggests
  • rmarkdown * suggests
  • spelling * suggests
  • survival * suggests
  • testthat >= 3.1.4 suggests
  • utils * suggests
  • withr * suggests
.github/workflows/R-CMD-check-hard.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/check-r-package v2 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/R-CMD-check-strict.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/check-r-package v2 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/R-CMD-check.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/check-r-package v2 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/check-all-examples.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/check-link-rot.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/check-readme.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/check-spelling.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/check-test-warnings.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/check-vignette-warnings.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/html-5-check.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/check-r-package v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/lint-changed-files.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/lint.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/pkgdown-no-suggests.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/pkgdown.yaml actions
  • JamesIves/github-pages-deploy-action v4.4.1 composite
  • actions/checkout v3 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/pre-commit.yaml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • ad-m/github-push-action master composite
  • pre-commit/action v3.0.0 composite
  • styfle/cancel-workflow-action 0.11.0 composite
.github/workflows/styler.yaml actions
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
  • stefanzweifel/git-auto-commit-action v4 composite
.github/workflows/test-coverage-examples.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/test-coverage.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/R-CMD-check-devel.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/check-r-package v2 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/check-random-test-order.yaml actions
  • actions/checkout v4 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/check-styling.yaml actions
  • actions/cache v3 composite
  • actions/checkout v4 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite