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, label.var = NULL, label.expression = NULL, point.label.args = list(size = 3), formula = y ~ x, smooth.line.args = list(size = 1.5, color = "blue"), method = "lm", method.args = list(), point.args = list(size = 3, alpha = 0.4), point.width.jitter = 0, point.height.jitter = 0, marginal = TRUE, marginal.type = "histogram", margins = "both", marginal.size = 5, xfill = "#009E73", yfill = "#D55E00", xparams = list(fill = xfill), yparams = list(fill = yfill), centrality.parameter = "none", centrality.label.args = list(size = 3), vline.args = list(color = xfill, size = 1, linetype = "dashed"), hline.args = list(color = yfill, size = 1, linetype = "dashed"), results.subtitle = TRUE, xlab = NULL, ylab = NULL, title = NULL, subtitle = NULL, caption = NULL, beta = 0.1, k = 2L, ggtheme = ggplot2::theme_bw(), ggstatsplot.layer = TRUE, ggplot.component = NULL, output = "plot", ... )
data  for use with 

x  The column in 
y  The column in 
type  Type of association between paired samples required
(" 
conf.level  Scalar between 0 and 1. If unspecified, the defaults return

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: 
label.var  Variable to use for points labels. Can be entered either as
a character string (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 character string (e.g., 
point.label.args  A list of additional aesthetic arguments to be passed
to 
formula  Formula to use in smoothing function, eg. 
smooth.line.args  A list of additional aesthetic arguments to be passed
to 
method  Smoothing method (function) to use, accepts either
For If you have fewer than 1,000 observations but want to use the same 
method.args  List of additional arguments passed on to the modelling
function defined by 
point.args  A list of additional aesthetic arguments to be passed
to 
point.width.jitter, point.height.jitter  Degree of jitter in 
marginal  Decides whether 
marginal.type  Type of marginal distribution to be plotted on the axes
( 
margins  Along which margins to show the plots. One of: [both, x, y]. 
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 
xparams  List of extra parameters to use only for the marginal plot along the x axis. 
yparams  List of extra parameters to use only for the marginal plot along the y axis. 
centrality.parameter  Decides which measure of central tendency ( 
centrality.label.args  A list of additional
aesthetic arguments to be passed to the 
vline.args, hline.args  A list of additional aesthetic arguments to be
passed to 
results.subtitle  Decides whether the results of statistical tests are
to be displayed as a subtitle (Default: 
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. 
beta  bending constant (Default: 
k  Number of digits after decimal point (should be an integer)
(Default: 
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't 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
# \donttest{ # 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 ggstatsplot::ggscatterstats( data = mtcars_new, x = wt, y = mpg, type = "np", label.var = car, label.expression = wt < 4 & mpg < 20, centrality.parameter = "median" )# }