Comments (2)
Hi, I am happy to hear that you like the package.
the argument that is given to test must satisfy certain requirements, which anova
does not so that is the reason, why the significance layer is not appearing.
But you can easily wrap the anova call in your own function, as I do in this example:
a <- rnorm(n = 10, mean = 5, sd = 1)
b <- rnorm(n = 10, mean = 5.8, sd = 1)
library(tidyverse)
#> Loading tidyverse: ggplot2
#> Loading tidyverse: tibble
#> Loading tidyverse: tidyr
#> Loading tidyverse: readr
#> Loading tidyverse: purrr
#> Loading tidyverse: dplyr
#> Conflicts with tidy packages ----------------------------------------------
#> filter(): dplyr, stats
#> lag(): dplyr, stats
library(ggsignif)
data <- data.frame(label = c(rep("A", 10), rep("B", 10)), id = c(1:10, 1:10),
value = c(a, b))
ggplot(data, aes(x = label, y = value)) +
geom_boxplot() +
geom_signif(comparison = list(c("A", "B")), y_position = 7.2, test = "wilcox.test") +
geom_signif(comparison = list(c("A", "B")), y_position = 7.6, test = "t.test") +
geom_signif(comparison = list(c("A", "B")), y_position = 8, test = function(a, b) {
list(p.value = summary(aov(a ~ b))[[1]][["Pr(>F)"]][[1]])
})
I actually call aov
instead of anova, but this should not be that important. Please note that the package is only designed to support 2 way comparisons (unlike the original intend of an anova), so you might want to compute the individual p-values separately and then use the annotations
parameter to draw them.
from ggsignif.
Thanks a lot const-ae for your immediate reply ! Highly appreciable !
I have few doubts :
- " [[1]][["Pr(>F)"]][[1]] " - could you please explain what this indicates ? Because the p values are different when I run anova separately for each and every values in the data. With geom_significance it is showing as "NS" whereas if i run anova separately for the same set of values, it shows "***" Significant difference.
- In the place of anova, can I use tukey or duncan test for multiple comparisons?
- I would like to have "", "", "", "NS" in different colors. since I didn't specify annotations separately, I couldn't give different colors. could you please help me ?
geom_signif(comparisons = list(c("High", "Low")), y_position=c(4.5, 7.7),test = function(a, b) { list(p.value = summary(aov(a ~ b))[[1]][["Pr(>F)"]][[1]])}, map_signif_level=T, tip_length=0)
Once again thanks for your help and for your valuable time to help me out !
from ggsignif.
Related Issues (20)
- Manual vertical brackets do not work: "arguments imply differing number of rows" HOT 1
- Warning message: Ignoring unknown aesthetics: xmin, xmax, annotations, y_position HOT 3
- adding scale_y_log10 changes y-axis to a weird range
- geom_signif does not plot comparison on the facetted plot with free x scale HOT 2
- Where can we find the significance level in the ggplot object slots? HOT 1
- Rename default branch from `master` to `main` HOT 3
- CRAN release 0.6.4 HOT 3
- Correcting for multiple testing when using geom_signif HOT 5
- Feature request - add more distance between comparisons and data HOT 4
- geom_signif - all comparisons dissappear when one comparison has missings HOT 2
- Significance stars are misaligned when using "NS" as well
- ggsignif results don't match with anova significance HOT 1
- Use cross symbol when p <.10?
- what are * , ** , *** correspond if specific values by user is not given? HOT 1
- How do I hide the no significant (NS) comparisons?
- Adding significance bar on coupled boxplots
- FDR warning HOT 1
- Show exact p value in comparisons HOT 3
- ggsignif facetting issue - Missing significance labels in certain facets
- Label missing if identical
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ggsignif.