BioRender uses R (version 4.2.2) to compute results for all statistical analyses.

Packages and functions used for specific statistical analyses are listed below.

# Assumptions tests

# Assumptions tests

## Shapiro-Wilk test of normality

Parametric t-tests and one-way ANOVAs have the assumption that your dataset is normally distributed. We run the Shapiro-Wilk test of normality to check if your dataset violates this assumption. If your data passes the Shapiro-Wilk test (i.e. p>0.05), we suggest a parametric two-sample t-test or a parametric one-way ANOVA. If your data does not pass the Shapiro-Wilk test, we suggest the nonparametric versions of the t-test and the one-way ANOVA.

We use the function `shapiro_test`

from rstatix.

## Levene’s test of equal variances

Parametric t-tests and one-way ANOVAs have the assumption that the variances of each sample group are approximately equal (i.e. the standard deviation of the sample groups are approximately the same). We run Levene’s test of equal variances to check if your dataset violates this assumption. If your dataset does not have equal variances between groups, we recommend a two-sample t-test or a one-way ANOVA with Welch’s correction, which accounts for unequal variances between groups.

We use the function `levene_test`

from rstatix.

# Two-sample t-test (all variations)

# Two-sample t-test (all variations)

## Unpaired two-sample t-test

We use the function `t_test`

from the rstatix package, passing `paired=FALSE`

, `var.equal=TRUE`

and `detailed=TRUE`

to get detailed results.

## Unpaired two-sample t-test with Welch’s correction (aka Welch’s t-test)

We use the function `t_test`

from the rstatix package, passing `paired=FALSE`

, `var.equal=FALSE`

and `detailed=TRUE`

to get detailed results.

## Mann-Whitney U test

We use the function `wilcox_test`

from the rstatix package, passing `paired=FALSE`

and `detailed=TRUE`

to get detailed results.

## Paired t-test

We use the function `t_test`

from the rstatix package, passing `paired=TRUE`

and `detailed=TRUE`

to get detailed results.

## Wilcoxon matched-pairs signed ranks test

We use the function `wilcox_test`

from the rstatix package, passing `paired=TRUE`

and `detailed=TRUE`

to get detailed results.

# One-way ANOVA (all variations)and multiple comparisons tests

# One-way ANOVA (all variations)and multiple comparisons tests

## One-way ANOVA

We use the function `anova_test`

from the rstatix package. We pass `detailed=TRUE`

to get detailed results.

## One-way ANOVA with Welch’s correction (aka Welch’s one-way ANOVA)

We use the function `welch_anova_test`

from the rstatix package.

## Kruskal-Wallis test

We use the function `kruskal_test`

from the rstatix package.

## Post-hoc multiple comparisons tests

## Tukey

We use the function `glht`

from the package multcomp, and specify “Tukey” to the multiple comparison function `mcp`

. We calculate confidence intervals and means using `confint`

and `mean`

.

## Bonferroni

We use the `LSD.test`

function from the library agricolae passing `p.adj="bonferroni"`

to use the “Bonferroni” p-value adjustment. We calculate t critical values using the `qt`

function, and the standard error and t statistic for each comparison manually using the formulas.

## Dunnett

We use the function `glht`

from the package multcomp, and specify “Dunnet” to the multiple comparison function `mcp`

. We calculate confidence intervals and means using `confint`

and `mean`

.

## Games-Howell

We use the function `games_howell_test`

from the rstatix package. We divide the standard error from the result by `sqrt(0.5)`

as that is more common to report. We pass `detailed=TRUE`

to get more detailed results.

## Dunnett T3

We use the `dunnetT3Test`

function from the PMCMRplus package. We manually calculate the degrees of freedom from the sample size and variance of each group. We also calculate the standard error of the difference and confidence intervals.

## Dunn

We use the function `dunn_test`

from the rstatix package, passing `p.adjust.method="bonferroni"`

and `detailed=TRUE`

to get detailed results.

# All packages

# All packages

R version 4.2.2

rstatix version 0.7.1

multcomp version 1.4-20

PMCMRplus version 1.9.6

agricolae version 1.3-5.

dplyr version 1.0.10

tidyr version 1.3.0

rjson version 0.2.21