Box/Violin plots for group or condition comparisons in within-subjects (or repeated measures) designs.
A combination of box and violin plots along with raw (unjittered) data points for within-subjects designs with statistical details included in the plot as a subtitle.
ggwithinstats( data, x, y, 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, 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), centrality.path = TRUE, centrality.path.args = list(color = "red", size = 1, alpha = 0.5), point.path = TRUE, point.path.args = list(alpha = 0.5, linetype = "dashed"), outlier.tagging = FALSE, outlier.label = NULL, outlier.coef = 1.5, outlier.label.args = list(size = 3), 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 |
y |
The response (or outcome or dependent) variable from the
dataframe |
type |
A character specifying the type of statistical approach. Four possible options:
Corresponding abbreviations are also accepted: |
pairwise.comparisons |
Logical that decides whether pairwise comparisons
are to be displayed (default: |
pairwise.display |
Decides which pairwise comparisons to display. Available options are:
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: |
effsize.type |
Type of effect size needed for parametric tests. The
argument can be |
bf.prior |
A number between |
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: |
results.subtitle |
Decides whether the results of statistical tests are
to be displayed as a subtitle (Default: |
xlab |
Labels for |
ylab |
Labels for |
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
|
k |
Number of digits after decimal point (should be an integer)
(Default: |
conf.level |
Scalar between |
nboot |
Number of bootstrap samples for computing confidence interval
for the effect size (Default: |
tr |
Trim level for the mean when carrying out |
centrality.plotting |
Logical that decides whether centrality tendency
measure is to be displayed as a point with a label (Default:
If you want default centrality parameter, you can specify this using
|
centrality.type |
Decides which centrality parameter is to be displayed.
The default is to choose the same as
Just as |
centrality.point.args |
A list of additional aesthetic
arguments to be passed to |
centrality.label.args |
A list of additional aesthetic
arguments to be passed to |
centrality.path.args, point.path.args |
A list of additional aesthetic
arguments passed on to |
point.path, centrality.path |
Logical that decides whether individual data
points and means, respectively, should be connected using |
outlier.tagging |
Decides whether outliers should be tagged (Default:
|
outlier.label |
Label to put on the outliers that have been tagged. This
can't be the same as |
outlier.coef |
Coefficient for outlier detection using Tukey's method.
With Tukey's method, outliers are below (1st Quartile) or above (3rd
Quartile) |
outlier.label.args |
A list of additional aesthetic arguments to be
passed to |
violin.args |
A list of additional aesthetic arguments to be passed to
the |
ggsignif.args |
A list of additional aesthetic
arguments to be passed to |
ggtheme |
A function, |
ggstatsplot.layer |
Logical that decides whether |
package |
Name of the package from which the given palette is to
be extracted. The available palettes and packages can be checked by running
|
palette |
Name of the package from which the given palette is to
be extracted. The available palettes and packages can be checked by running
|
ggplot.component |
A |
output |
Character that describes what is to be returned: can be
|
... |
Currently ignored. |
Please note that the function expects that the data is already sorted by subject/repeated measures ID.
To carry out Bayesian analysis for ANOVA designs, you will need to install
the development version of BayesFactor
(0.9.12-4.3
). You can download it
by running:
remotes::install_github("richarddmorey/BayesFactor/pkg/BayesFactor")
.
# setup set.seed(123) library(ggstatsplot) # two groups (*t*-test) ggwithinstats( data = VR_dilemma, x = modality, y = score, xlab = "Presentation modality", ylab = "Proportion of utilitarian decisions" ) # more than two groups (anova) library(WRS2) ggstatsplot::ggwithinstats( data = WineTasting, x = Wine, y = Taste, type = "np", # non-parametric test pairwise.comparisons = TRUE, outlier.tagging = TRUE, outlier.label = Taster )
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.