R/ggwithinstats.R
ggwithinstats.Rd
A combination of box and violin plots along with raw (unjittered) data points for withinsubjects 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, sample.size.label = TRUE, k = 2L, conf.level = 0.95, nboot = 100L, tr = 0.1, mean.plotting = TRUE, mean.ci = FALSE, mean.point.args = list(size = 5, color = "darkred"), mean.label.args = list(size = 3), point.path = TRUE, point.path.args = list(alpha = 0.5, linetype = "dashed"), mean.path = TRUE, mean.path.args = list(color = "red", size = 1, alpha = 0.5), notch = FALSE, notchwidth = 0.5, outlier.tagging = FALSE, outlier.label = NULL, outlier.coef = 1.5, outlier.label.args = list(), outlier.point.args = list(), 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. A matrix or tables will not be accepted. 

x  The grouping variable from the dataframe 
y  The response (a.k.a. outcome or dependent) variable from the
dataframe 
type  Type of statistic expected ( 
pairwise.comparisons  Logical that decides whether pairwise comparisons
are to be displayed (default: 
pairwise.display  Decides which pairwise comparisons to display.
Available options are 
p.adjust.method  Adjustment method for pvalues 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

sample.size.label  Logical that decides whether sample size information
should be displayed for each level of the grouping variable 
k  Number of digits after decimal point (should be an integer)
(Default: 
conf.level  Scalar between 0 and 1. If unspecified, the defaults return

nboot  Number of bootstrap samples for computing confidence interval
for the effect size (Default: 
tr  Trim level for the mean when carrying out 
mean.plotting  Logical that decides whether mean is to be highlighted
and its value to be displayed (Default: 
mean.ci  Logical that decides whether 
mean.point.args  A list of additional aesthetic
arguments to be passed to 
mean.label.args  A list of additional aesthetic
arguments to be passed to 
point.path, mean.path  Logical that decides whether individual data
points and means, respectively, should be connected using 
mean.path.args, point.path.args  A list of additional aesthetic
arguments passed on to 
notch  A logical. If 
notchwidth  For a notched box plot, width of the notch relative to the
body (default 
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 
outlier.point.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. 
For more about how the effect size measures (for nonparametric tests) and
their confidence intervals are computed, see ?rcompanion::wilcoxonPairedR
.
For independent measures designs, use ggbetweenstats
.
Important: Please note that the function expects that the data is already sorted by subject/repeated measures ID.
# \donttest{ # setup set.seed(123) library(ggstatsplot) # two groups (*t*test) ggstatsplot::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", conf.level = 0.99, pairwise.comparisons = TRUE, outlier.tagging = TRUE, outlier.label = Taster )#> Warning: extreme order statistics used as endpoints# }