gpt4 book ai didi

r - 如何在 R 上使用 dodged geom_boxplot 注释每个方面的不同值?

转载 作者:行者123 更新时间:2023-12-04 11:54:48 25 4
gpt4 key购买 nike

我正在尝试使用组(填充)和分面向我的 ggplot 箱线图添加重要星号。

使用 geom_signif() 我可以添加条形图,例如:

Image 1

我也在尝试对闪避箱线图做同样的事情......类似于

Image 2

(假设在较小的线上方有显着性值...)

前图的代码:

数据:

library(ggplot2)
library(ggsignif)
df <- data.frame(iris,petal.colour=c("red","blue"), country=c("UK","France","France"))

第一个情节:

     ggplot(df, aes(country,Sepal.Length))+
geom_boxplot(position="dodge",aes(fill=petal.colour))+
facet_wrap(~Species, ncol=3)+
geom_signif(comparisons = list(c("France", "UK")), map_signif_level=TRUE,
tip_length=0,y_position = 9, textsize = 4)

对于较小的酒吧

+geom_signif(annotations = c("", ""),
y_position = 8.5,
xmin=c(0.75,1.75), xmax=c(1.25,2.25),tip_length=0)

如果让 R 来完成这项工作会很棒,但如果在这些较小的行上方手动添加文本更容易,那我就没问题。

最佳答案

我不知道如何使用 geom_signif 让他们为那个小组工作。请参阅第一部分以了解我的尝试。我能够使用 ggpubrstat_compare_means 让它工作,我相信它是 geom_signif 的扩展。

ggplot(df, aes(country,Sepal.Length)) +
geom_boxplot(position="dodge",aes(fill=petal.colour)) +
facet_wrap(~Species, ncol=3) +
geom_signif(comparisons = list(c("France", "UK")), map_signif_level=TRUE,
tip_length=0,y_position = 9, textsize = 4) +
geom_signif(y_position = 8.5,
xmin=c(0.75,1.75), xmax=c(1.25,2.25), tip_length=0, map_signif_level = c("***" = 0.001, "**" = 0.01, "*" = 0.05))

Warning messages:
1: In wilcox.test.default(c(4.9, 4.7, 5, 5.4, 5, 4.4, 5.4, 4.8, 4.3, :
cannot compute exact p-value with ties
2: In wilcox.test.default(c(7, 6.9, 5.5, 5.7, 6.3, 6.6, 5.2, 5.9, 6, :
cannot compute exact p-value with ties
3: In wilcox.test.default(c(6.3, 5.8, 6.3, 6.5, 4.9, 7.3, 7.2, 6.5, :
cannot compute exact p-value with ties
4: Computation failed in `stat_signif()`:
arguments imply differing number of rows: 6, 0
5: Computation failed in `stat_signif()`:
arguments imply differing number of rows: 6, 0
6: Computation failed in `stat_signif()`:
arguments imply differing number of rows: 6, 0

使用 ggpubrstat_compare_means。请注意,您可以使用不同的标签和测试等。请参阅 ?stat_compare_means

library(ggpubr)
ggplot(df, aes(country,Sepal.Length)) +
geom_boxplot(position="dodge",aes(fill=petal.colour)) +
facet_wrap(~Species, ncol=3) +
stat_compare_means(aes(group = country), label = "p.signif", label.y = 10, label.x = 1.5) +
stat_compare_means(aes(group = petal.colour), label = "p.format", label.y = 8.5)

enter image description here

关于r - 如何在 R 上使用 dodged geom_boxplot 注释每个方面的不同值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52958453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com