ggpval
allows you to perform statistic tests and add the
corresponding p-values to ggplots automatically. P-values can be
presented numerically or as stars (e.g. *, **). Alternatively, one can
also make any text annotation between groups.
Simulate data with groups.
Give the group pairs you want to compare in pairs
.
plt <- ggplot(dt, aes(variable, value)) +
geom_boxplot() +
geom_jitter()
add_pval(plt, pairs = list(c(1, 2)), fold_change=TRUE)
plt <- ggplot(dt, aes(variable, value)) +
geom_boxplot() +
geom_jitter() +
facet_wrap(~G)
add_pval(plt, pairs = list(c(1, 2)))
ggpval
tries to infer the column which contains the data
to do statistical testing. In case this inference was wrong or not
possible (for instance the raw data column was not mapped in ggplot
object), you can specify the correct column name with
response=
.
dt[, mu := mean(value),
by = c("G", "variable")]
dt[, se := sd(value) / .N,
by = c("G", "variable")]
plt_bar <- ggplot(dt, aes(x=variable, y=mu, fill = variable)) +
geom_bar(stat = "identity", position = 'dodge') +
geom_errorbar(aes(ymin=mu-se, ymax=mu+se),
width = .2) +
facet_wrap(~G)
add_pval(plt_bar, pairs = list(c(1, 2)), response = 'value')
Additional arguments for statistical function can also be directly specified. Here we also the conventional “*” format for significance level.
add_pval(plt_bar, pairs = list(c(1, 2)),
test = 't.test',
alternative = "less",
response = 'value',
pval_star = T)
In case you to want give different annotations to each facets, provide your annotation as a list
Please report bugs and issues on github issue page: https://github.com/s6juncheng/ggpval/issues. Contributions are welcome.
Thanks to Vicente Yépez for testing and helping with improvement of the package.