A combined plot of comparison plot created for levels of a grouping variable.

```
grouped_ggbetweenstats(
data,
x,
y,
grouping.var,
outlier.label = NULL,
title.prefix = NULL,
output = "plot",
...,
plotgrid.args = list(),
title.text = NULL,
title.args = list(size = 16, fontface = "bold"),
caption.text = NULL,
caption.args = list(size = 10),
sub.text = NULL,
sub.args = list(size = 12)
)
```

data

A dataframe (or a tibble) from which variables specified are to
be taken. A matrix or tables will **not** be accepted.

x

The grouping variable from the dataframe `data`

.

y

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

.

grouping.var

A single grouping variable (can be entered either as a
bare name `x`

or as a string `"x"`

).

outlier.label

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

argument.

title.prefix

Character string specifying the prefix text for the fixed
plot title (name of each factor level) (Default: `NULL`

). If `NULL`

, the
variable name entered for `grouping.var`

will be used.

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`

.

...

Arguments passed on to `ggbetweenstats`

`plot.type`

Character describing the

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

(for pure boxplots),`"violin"`

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

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

Labels for

`x`

and`y`

axis variables. If`NULL`

(default), variable names for`x`

and`y`

will be used.`ylab`

Labels for

`x`

and`y`

axis variables. If`NULL`

(default), variable names for`x`

and`y`

will be used.`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.`p.adjust.method`

Adjustment method for

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

(default),`"hochberg"`

,`"hommel"`

,`"bonferroni"`

,`"BH"`

,`"BY"`

,`"fdr"`

,`"none"`

.`pairwise.display`

Decides which pairwise comparisons to display. Available options are

`"significant"`

(abbreviation accepted:`"s"`

) or`"non-significant"`

(abbreviation accepted:`"ns"`

) or`"everything"`

/`"all"`

. The default is`"significant"`

. 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.`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.`subtitle`

The text for the plot subtitle. Will work only if

`results.subtitle = FALSE`

.`caption`

The text for the plot caption.

`sample.size.label`

Logical that decides whether sample size information should be displayed for each level of the grouping variable

`x`

(Default:`TRUE`

).`notch`

A logical. If

`FALSE`

(default), a standard box plot will be displayed. If`TRUE`

, a notched box plot will be used. Notches are used to compare groups; if the notches of two boxes do not overlap, this suggests that the medians are significantly different. In a notched box plot, the notches extend`1.58 * IQR / sqrt(n)`

, where IQR: Inter-Quartile Range. This gives a roughly`95%`

confidence interval for comparing medians.`notchwidth`

For a notched box plot, width of the notch relative to the body (default

`0.5`

).`outlier.color`

Default aesthetics for outliers (Default:

`"black"`

).`outlier.tagging`

Decides whether outliers should be tagged (Default:

`FALSE`

).`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.label.args`

A list of additional aesthetic arguments to be passed to

`ggrepel::geom_label_repel`

for outlier label plotting.`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`

).`mean.plotting`

Logical that decides whether mean is to be highlighted and its value to be displayed (Default:

`TRUE`

).`mean.ci`

Logical that decides whether

`95%`

confidence interval for mean is to be displayed (Default:`FALSE`

).`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`

.`ggplot.component`

A

`ggplot`

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

. This argument is primarily helpful for`grouped_`

variant of the current function. Default is`NULL`

. The argument should be entered as a function.`package`

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)`

.`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)`

.`mean.point.args`

A list of additional aesthetic arguments to be passed to

`ggplot2::geom_point`

and`ggrepel::geom_label_repel`

geoms involved mean value plotting.`mean.label.args`

A list of additional aesthetic arguments to be passed to

`ggplot2::geom_point`

and`ggrepel::geom_label_repel`

geoms involved mean value plotting.`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`

.`effsize.type`

Type of effect size needed for

*parametric*tests. The argument can be`"eta"`

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

(partial omega-squared).`k`

Number of digits after decimal point (should be an integer) (Default:

`k = 2L`

).`var.equal`

a logical variable indicating whether to treat the variances in the samples as equal. If

`TRUE`

, then a simple F test for the equality of means in a one-way analysis of variance is performed. If`FALSE`

, an approximate method of Welch (1951) is used, which generalizes the commonly known 2-sample Welch test to the case of arbitrarily many samples.`conf.level`

Scalar between 0 and 1. If unspecified, the defaults return

`95%`

confidence/credible intervals (`0.95`

).`type`

Type of statistic expected (

`"parametric"`

or`"nonparametric"`

or`"robust"`

or`"bayes"`

).Corresponding abbreviations are also accepted:`"p"`

(for parametric),`"np"`

(nonparametric),`"r"`

(robust), or`"bf"`

resp.`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. If you get error stating "Standard error cannot be computed because of Winsorized variance of 0 (e.g., due to ties). Try to decrease the trimming level.", try to play around with the value of`tr`

, which is by default set to`0.1`

. Lowering the value might help.

plotgrid.args

A list of additional arguments to `cowplot::plot_grid`

.

title.text

String or plotmath expression to be drawn as title for the
*combined plot*.

title.args

A list of additional arguments
provided to `title`

, `caption`

and `sub`

, resp.

caption.text

String or plotmath expression to be drawn as the caption
for the *combined plot*.

caption.args

A list of additional arguments
provided to `title`

, `caption`

and `sub`

, resp.

sub.text

The label with which the *combined plot* should be annotated.
Can be a plotmath expression.

sub.args

A list of additional arguments
provided to `title`

, `caption`

and `sub`

, resp.

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

# NOT RUN { # to get reproducible results from bootstrapping set.seed(123) # the most basic function call ggstatsplot::grouped_ggbetweenstats( data = dplyr::filter(ggplot2::mpg, drv != "4"), x = year, y = hwy, grouping.var = drv, conf.level = 0.99 ) # modifying individual plots using `ggplot.component` argument ggstatsplot::grouped_ggbetweenstats( data = dplyr::filter( ggstatsplot::movies_long, genre %in% c("Action", "Comedy"), mpaa %in% c("R", "PG") ), x = genre, y = rating, grouping.var = mpaa, results.subtitle = FALSE, ggplot.component = ggplot2::scale_y_continuous( breaks = seq(1, 9, 1), limits = (c(1, 9)) ) ) # }