A combination of box and violin plots along with jittered data points for between-subjects designs with statistical details included in the plot as a subtitle.

```
ggbetweenstats(
data,
x,
y,
plot.type = "boxviolin",
type = "parametric",
pairwise.comparisons = TRUE,
pairwise.display = "significant",
p.adjust.method = "holm",
effsize.type = "unbiased",
bf.prior = 0.707,
bf.message = TRUE,
results.subtitle = TRUE,
xlab = NULL,
ylab = NULL,
caption = NULL,
title = NULL,
subtitle = NULL,
k = 2L,
var.equal = FALSE,
conf.level = 0.95,
nboot = 100L,
tr = 0.2,
centrality.plotting = TRUE,
centrality.type = type,
centrality.point.args = list(size = 5, color = "darkred"),
centrality.label.args = list(size = 3, nudge_x = 0.4, segment.linetype = 4),
outlier.tagging = FALSE,
outlier.label = NULL,
outlier.coef = 1.5,
outlier.shape = 19,
outlier.color = "black",
outlier.label.args = list(size = 3),
point.args = list(position = ggplot2::position_jitterdodge(dodge.width = 0.6), alpha
= 0.4, size = 3, stroke = 0),
violin.args = list(width = 0.5, alpha = 0.2),
ggsignif.args = list(textsize = 3, tip_length = 0.01),
ggtheme = ggplot2::theme_bw(),
ggstatsplot.layer = TRUE,
package = "RColorBrewer",
palette = "Dark2",
ggplot.component = NULL,
output = "plot",
...
)
```

data

A dataframe (or a tibble) from which variables specified are to
be taken. Other data types (e.g., matrix,table, array, etc.) will **not**
be accepted.

x

The grouping (or independent) variable from the dataframe `data`

.

y

The response (or outcome or dependent) variable from the
dataframe `data`

.

plot.type

Character describing the *type* of plot. Currently supported
plots are `"box"`

(for only boxplots), `"violin"`

(for only violin plots),
and `"boxviolin"`

(for a combination of box and violin plots; default).

type

A character specifying the type of statistical approach. Four possible options:

`"parametric"`

`"nonparametric"`

`"robust"`

`"bayes"`

Corresponding abbreviations are also accepted: `"p"`

(for parametric),
`"np"`

(for nonparametric), `"r"`

(for robust), or `"bf"`

(for Bayesian).

pairwise.comparisons

Logical that decides whether pairwise comparisons
are to be displayed (default: `TRUE`

). Please note that only
**significant** comparisons will be shown by default. To change this
behavior, select appropriate option with `pairwise.display`

argument. The
pairwise comparison dataframes are prepared using the
`pairwiseComparisons::pairwise_comparisons`

function. For more details
about pairwise comparisons, see the documentation for that function.

pairwise.display

Decides *which* pairwise comparisons to display.
Available options are:

`"significant"`

(abbreviation accepted:`"s"`

)`"non-significant"`

(abbreviation accepted:`"ns"`

)`"all"`

You can use this argument to make sure that your plot is not uber-cluttered when you have multiple groups being compared and scores of pairwise comparisons being displayed.

p.adjust.method

Adjustment method for *p*-values for multiple
comparisons. Possible methods are: `"holm"`

(default), `"hochberg"`

,
`"hommel"`

, `"bonferroni"`

, `"BH"`

, `"BY"`

, `"fdr"`

, `"none"`

.

effsize.type

Type of effect size needed for *parametric* tests. The
argument can be `"eta"`

(partial eta-squared) or `"omega"`

(partial
omega-squared).

bf.prior

A number between `0.5`

and `2`

(default `0.707`

), the prior
width to use in calculating Bayes factors.

bf.message

Logical that decides whether to display Bayes Factor in
favor of the *null* hypothesis. This argument is relevant only **for
parametric test** (Default: `TRUE`

).

results.subtitle

Decides whether the results of statistical tests are
to be displayed as a subtitle (Default: `TRUE`

). If set to `FALSE`

, only
the plot will be returned.

xlab, ylab

Labels for `x`

and `y`

axis variables. If `NULL`

(default),
variable names for `x`

and `y`

will be used.

caption

The text for the plot caption.

title

The text for the plot title.

subtitle

The text for the plot subtitle. Will work only if
`results.subtitle = FALSE`

.

k

Number of digits after decimal point (should be an integer)
(Default: `k = 2L`

).

var.equal

a logical variable indicating whether to treat the
two variances as being equal. If `TRUE`

then the pooled
variance is used to estimate the variance otherwise the Welch
(or Satterthwaite) approximation to the degrees of freedom is used.

conf.level

Scalar between `0`

and `1`

. If unspecified, the defaults
return `95%`

confidence/credible intervals (`0.95`

).

nboot

Number of bootstrap samples for computing confidence interval
for the effect size (Default: `100`

).

tr

Trim level for the mean when carrying out `robust`

tests. In case
of an error, try reducing the value of `tr`

, which is by default set to
`0.2`

. Lowering the value might help.

centrality.plotting

Logical that decides whether centrality tendency
measure is to be displayed as a point with a label (Default: `TRUE`

).
Function decides which central tendency measure to show depending on the
`type`

argument.

**mean**for parametric statistics**median**for non-parametric statistics**trimmed mean**for robust statistics**MAP estimator**for Bayesian statistics

If you want default centrality parameter, you can specify this using
`centrality.type`

argument.

centrality.type

Decides which centrality parameter is to be displayed.
The default is to choose the same as `type`

argument. You can specify this
to be:

`"parameteric"`

(for**mean**)`"nonparametric"`

(for**median**)`robust`

(for**trimmed mean**)`bayes`

(for**MAP estimator**)

Just as `type`

argument, abbreviations are also accepted.

centrality.point.args, centrality.label.args

A list of additional aesthetic
arguments to be passed to `ggplot2::geom_point`

and
`ggrepel::geom_label_repel`

geoms, which are involved in mean plotting.

outlier.tagging

Decides whether outliers should be tagged (Default:
`FALSE`

).

outlier.label

Label to put on the outliers that have been tagged. This
**can't** be the same as `x`

argument.

outlier.coef

Coefficient for outlier detection using Tukey's method.
With Tukey's method, outliers are below (1st Quartile) or above (3rd
Quartile) `outlier.coef`

times the Inter-Quartile Range (IQR) (Default:
`1.5`

).

outlier.shape

Hiding the outliers can be achieved by setting
`outlier.shape = NA`

. Importantly, this does not remove the outliers,
it only hides them, so the range calculated for the `y`

-axis will be
the same with outliers shown and outliers hidden.

outlier.color

Default aesthetics for outliers (Default: `"black"`

).

outlier.label.args

A list of additional aesthetic arguments to be
passed to `ggrepel::geom_label_repel`

for outlier label plotting.

point.args

A list of additional aesthetic arguments to be passed to
the `geom_point`

displaying the raw data.

violin.args

A list of additional aesthetic arguments to be passed to
the `geom_violin`

.

ggsignif.args

A list of additional aesthetic
arguments to be passed to `ggsignif::geom_signif`

.

ggtheme

A function, `ggplot2`

theme name. Default value is
`ggplot2::theme_bw()`

. Any of the `ggplot2`

themes, or themes from
extension packages are allowed (e.g., `ggthemes::theme_fivethirtyeight()`

,
`hrbrthemes::theme_ipsum_ps()`

, etc.).

ggstatsplot.layer

Logical that decides whether `theme_ggstatsplot`

theme elements are to be displayed along with the selected `ggtheme`

(Default: `TRUE`

). `theme_ggstatsplot`

is an opinionated theme layer that
override some aspects of the selected `ggtheme`

.

package, palette

Name of the package from which the given palette is to
be extracted. The available palettes and packages can be checked by running
`View(paletteer::palettes_d_names)`

.

ggplot.component

A `ggplot`

component to be added to the plot prepared
by `ggstatsplot`

. This argument is primarily helpful for `grouped_`

variants of all primary functions. Default is `NULL`

. The argument should
be entered as a `ggplot2`

function or a list of `ggplot2`

functions.

output

Character that describes what is to be returned: can be
`"plot"`

(default) or `"subtitle"`

or `"caption"`

. Setting this to
`"subtitle"`

will return the expression containing statistical results. If
you have set `results.subtitle = FALSE`

, then this will return a `NULL`

.
Setting this to `"caption"`

will return the expression containing details
about Bayes Factor analysis, but valid only when `type = "parametric"`

and
`bf.message = TRUE`

, otherwise this will return a `NULL`

.

...

Currently ignored.

https://indrajeetpatil.github.io/ggstatsplot/articles/web_only/ggbetweenstats.html

`grouped_ggbetweenstats`

, `ggwithinstats`

,
`grouped_ggwithinstats`

# NOT RUN { # to get reproducible results from bootstrapping set.seed(123) library(ggstatsplot) # simple function call with the defaults ggstatsplot::ggbetweenstats( data = mtcars, x = am, y = mpg, title = "Fuel efficiency by type of car transmission", caption = "Transmission (0 = automatic, 1 = manual)" ) # more detailed function call ggstatsplot::ggbetweenstats( data = datasets::morley, x = Expt, y = Speed, type = "nonparametric", plot.type = "box", xlab = "The experiment number", ylab = "Speed-of-light measurement", pairwise.comparisons = TRUE, p.adjust.method = "fdr", outlier.tagging = TRUE, outlier.label = Run, ggtheme = ggplot2::theme_grey(), ggstatsplot.layer = FALSE ) # }