R/ggscatterstats.R
ggscatterstats.Rd
Scatterplots from ggplot2
combined with marginal
histograms/boxplots/density plots with statistical details added as a
subtitle.
ggscatterstats( data, x, y, type = "parametric", conf.level = 0.95, bf.prior = 0.707, bf.message = TRUE, tr = 0.2, k = 2L, results.subtitle = TRUE, label.var = NULL, label.expression = NULL, point.args = list(size = 3, alpha = 0.4), point.width.jitter = 0, point.height.jitter = 0, point.label.args = list(size = 3, max.overlaps = 1e+06), smooth.line.args = list(size = 1.5, color = "blue"), marginal = TRUE, marginal.type = "densigram", marginal.size = 5, xfill = "#009E73", yfill = "#D55E00", xlab = NULL, ylab = NULL, title = NULL, subtitle = NULL, caption = NULL, ggtheme = ggplot2::theme_bw(), ggstatsplot.layer = TRUE, 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 column in 
y  The column in 
type  A character specifying the type of statistical approach. Four possible options:
Corresponding abbreviations are also accepted: 
conf.level  Scalar between 
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: 
tr  Trim level for the mean when carrying out 
k  Number of digits after decimal point (should be an integer)
(Default: 
results.subtitle  Decides whether the results of statistical tests are
to be displayed as a subtitle (Default: 
label.var  Variable to use for points labels. Can be entered either as
a bare expression (e.g, 
label.expression  An expression evaluating to a logical vector that
determines the subset of data points to label. This argument can be entered
either as a bare expression (e.g., 
point.args  A list of additional aesthetic arguments to be passed
to 
point.width.jitter, point.height.jitter  Degree of jitter in 
point.label.args  A list of additional aesthetic arguments to be passed
to 
smooth.line.args  A list of additional aesthetic arguments to be passed
to 
marginal  Decides whether marginal distributions will be plotted on
axes using 
marginal.type  Type of marginal distribution to be plotted on the axes
( 
marginal.size  Integer describing the relative size of the marginal
plots compared to the main plot. A size of 
xfill, yfill  Character describing color fill for 
xlab  Labels for 
ylab  Labels for 
title  The text for the plot title. 
subtitle  The text for the plot subtitle. Will work only if

caption  The text for the plot caption. 
ggtheme  A function, 
ggstatsplot.layer  Logical that decides whether 
ggplot.component  A 
output  Character that describes what is to be returned: can be

...  Currently ignored. 
If you set marginal = TRUE
, the resulting plot can not be further
modified with ggplot2
functions since it is no longer a ggplot
object. In
case you want a ggplot
object, set marginal = FALSE
. Also have a look at
the ggplot.component
argument.
The plot uses ggrepel::geom_label_repel
to attempt to keep labels
from overlapping to the largest degree possible. As a consequence plot
times will slow down massively (and the plot file will grow in size) if you
have a lot of labels that overlap.
https://indrajeetpatil.github.io/ggstatsplot/articles/web_only/ggscatterstats.html
# to get reproducible results from bootstrapping set.seed(123) library(ggstatsplot) # creating dataframe with rownames converted to a new column mtcars_new < as_tibble(mtcars, rownames = "car") # simple function call with the defaults if (require("ggExtra")) { ggscatterstats( data = mtcars_new, x = wt, y = mpg, label.var = car, label.expression = wt < 4 & mpg < 20, # making further customization with `ggplot2` functions ggplot.component = list(ggplot2::geom_rug(sides = "b")) ) }#>