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, beta = 0.1, k = 2L, results.subtitle = TRUE, label.var = NULL, label.expression = NULL, point.label.args = list(size = 3), smooth.line.args = list(size = 1.5, color = "blue"), point.args = list(size = 3, alpha = 0.4), point.width.jitter = 0, point.height.jitter = 0, 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. A matrix or tables will not be accepted. |
---|---|
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: |
beta | bending constant (Default: |
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 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 |
smooth.line.args | A list of additional aesthetic arguments to be passed
to |
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
( |
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 | If |
... | 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 over-lapping 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, label.var = car, label.expression = wt < 4 & mpg < 20, # making further customizations with `ggplot2` functions ggplot.component = list(ggplot2::scale_y_continuous( limits = c(5, 35), breaks = seq(5, 35, 5) )) )#> Warning: ggrepel: 7 unlabeled data points (too many overlaps). Consider increasing max.overlaps# }