stat_cor {ggpubr} | R Documentation |
Add Correlation Coefficients with P-values to a Scatter Plot
Description
Add correlation coefficients with p-values to a scatter plot. Can be also used to add 'R2'.
Usage
stat_cor(
mapping = NULL,
data = NULL,
method = "pearson",
alternative = "two.sided",
cor.coef.name = c("R", "rho", "tau"),
label.sep = ", ",
label.x.npc = "left",
label.y.npc = "top",
label.x = NULL,
label.y = NULL,
output.type = "expression",
digits = 2,
r.digits = digits,
p.digits = digits,
r.accuracy = NULL,
p.accuracy = NULL,
geom = "text",
position = "identity",
na.rm = FALSE,
show.legend = NA,
inherit.aes = TRUE,
...
)
Arguments
mapping |
Set of aesthetic mappings created by |
data |
The data to be displayed in this layer. There are three options: If A A |
method |
a character string indicating which correlation coefficient (or covariance) is to be computed. One of "pearson" (default), "kendall", or "spearman". |
alternative |
a character string specifying the alternative hypothesis, must be one of "two.sided" (default), "greater" or "less". You can specify just the initial letter. |
cor.coef.name |
character. Can be one of |
label.sep |
a character string to separate the terms. Default is ", ", to separate the correlation coefficient and the p.value. |
label.x.npc , label.y.npc |
can be
If too short they will be recycled. |
label.x , label.y |
|
output.type |
character One of "expression", "latex", "tex" or "text". |
digits , r.digits , p.digits |
integer indicating the number of decimal places (round) or significant digits (signif) to be used for the correlation coefficient and the p-value, respectively.. |
r.accuracy |
a real value specifying the number of decimal places of
precision for the correlation coefficient. Default is NULL. Use (e.g.) 0.01
to show 2 decimal places of precision. If specified, then |
p.accuracy |
a real value specifying the number of decimal places of
precision for the p-value. Default is NULL. Use (e.g.) 0.0001 to show 4
decimal places of precision. If specified, then |
geom |
The geometric object to use to display the data, either as a
|
position |
Position adjustment, either as a string naming the adjustment
(e.g. |
na.rm |
If FALSE (the default), removes missing values with a warning. If TRUE silently removes missing values. |
show.legend |
logical. Should this layer be included in the legends?
|
inherit.aes |
If |
... |
other arguments to pass to |
Computed variables
- r
correlation coefficient
- rr
correlation coefficient squared
- r.label
formatted label for the correlation coefficient
- rr.label
formatted label for the squared correlation coefficient
- p.label
label for the p-value
- label
default labeldisplayed by
stat_cor()
See Also
Examples
# Load data
data("mtcars")
df <- mtcars
df$cyl <- as.factor(df$cyl)
# Scatter plot with correlation coefficient
#:::::::::::::::::::::::::::::::::::::::::::::::::
sp <- ggscatter(df, x = "wt", y = "mpg",
add = "reg.line", # Add regressin line
add.params = list(color = "blue", fill = "lightgray"), # Customize reg. line
conf.int = TRUE # Add confidence interval
)
# Add correlation coefficient
sp + stat_cor(method = "pearson", label.x = 3, label.y = 30)
# Specify the number of decimal places of precision for p and r
# Using 3 decimal places for the p-value and
# 2 decimal places for the correlation coefficient (r)
sp + stat_cor(p.accuracy = 0.001, r.accuracy = 0.01)
# Show only the r.label but not the p.label
sp + stat_cor(aes(label = ..r.label..), label.x = 3)
# Use R2 instead of R
ggscatter(df, x = "wt", y = "mpg", add = "reg.line") +
stat_cor(
aes(label = paste(..rr.label.., ..p.label.., sep = "~`,`~")),
label.x = 3
)
# Color by groups and facet
#::::::::::::::::::::::::::::::::::::::::::::::::::::
sp <- ggscatter(df, x = "wt", y = "mpg",
color = "cyl", palette = "jco",
add = "reg.line", conf.int = TRUE)
sp + stat_cor(aes(color = cyl), label.x = 3)