BioRender Graph & Analysis

How BioRender computes its statistical analyses

P
Written by Polly Zhang
Updated over a week ago

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

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)

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

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

  • 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

Did this answer your question?