Closed IsabelPotani closed 2 years ago
Hi Isabel,
unfortunately, the Bonferroni (or other multiple testing corrections) are not supported by ggsignif
. You will have to calculate the tests manually, calculate the correction, and then provide the annotation to ggsignif
. Please see the 'Advanced Example' on how to do this.
Best, Constantin
@IsabelPotani You can have a look at ggstatsplot, which uses ggsignif to show pairwise comparisons with statistics adjusted for multiple comparisons.
Thanks, both. Your solutions have helped to resolve my problem
@IsabelPotani You can have a look at ggstatsplot, which uses ggsignif to show pairwise comparisons with statistics adjusted for multiple comparisons.
Hi. Thanks for your help last time. I am trying to change the annotation for pairwise comparisons to asterisk and not the actual p values using the code below, but it's not working. Can you help me pick out what I am doing wrong?
ggbetweenstats( data = survival1b,type="p",results.subtitle="FALSE",k=2, x=site, y = hos_stay3, outlier.tagging = FALSE,pairwise.display="significant", plot.type = "box",pairwise.annotation = "asterisk", p.adjust.method="bonferroni", xlab="Site",ylab="Number of days hospitalised" ,title = "Duration of hospital stay", )+ggplot2::scale_y_continuous( breaks = seq(from = 0, to = 43, by = 2))
Here is an example:
library(ggplot2)
library(ggsignif)
library(dplyr, warn.conflicts = FALSE)
library(ggstatsplot)
# creating a basic plot
p <- ggplot(iris, aes(Species, Sepal.Width)) +
geom_boxplot()
# using `pairwise_comparisons()` package to create a data frame with results
df <- pairwise_comparisons(iris, Species, Sepal.Width) %>%
dplyr::mutate(groups = purrr::pmap(.l = list(group1, group2), .f = c)) %>%
dplyr::arrange(group1)
# add new significance column based on standard APA guidelines
signif_column <- function(data, p) {
dplyr::mutate(
data,
significance = dplyr::case_when(
{{ p }} >= 0.050 ~ "ns",
{{ p }} < 0.050 & {{ p }} >= 0.010 ~ "*",
{{ p }} < 0.010 & {{ p }} >= 0.001 ~ "**",
{{ p }} < 0.001 ~ "***"
)
)
}
df <- signif_column(df, p.value)
# using `geom_signif` to display results
p +
ggsignif::geom_signif(
comparisons = df$groups,
map_signif_level = TRUE,
tip_length = 0.01,
y_position = c(4.75, 5.00, 5.25),
annotations = df$significance,
test = NULL,
na.rm = TRUE
)
Created on 2022-12-14 with reprex v2.0.2
I would like to use the Bonferroni correction when using geom_signif but cannot figure out how to incorporate this. I suspect it can be achieved using test.args or the test argument. Do you have any guidance?