【问题标题】:display letter to show statistical significance on ggplot bar graph显示字母以在 ggplot 条形图上显示统计显着性
【发布时间】:2020-07-04 13:53:31
【问题描述】:

我有一个数据框,头部如下图,还有更多不同名称和读数的行:

df <- data.frame ("name" = c("A", "A", "A", "B", "B", "B", "C", "C", "C"),
                  "reading" = c(3.6, 1.2, 3.1, 5.5, 6.1, 6.3, 9.3, 9.1, 8.9))

我使用下面的代码来生成一个条形图:

ggplot(aes(x=name, y=reading))+geom_col()+stat_summary(fun.data = mean_se, geom = "errorbar", color="red")+stat_summary(fun.y=mean, geom="point", color="red")

然后我分别执行了 ANOVA 分析/TukeyHSD,但我无法将字母添加到图表中,以显示每两个名称对在统计上是否不同。 请问这是否可以通过 ggplot 查询而不执行单独的 ANOVA/Tukey 测试来实现?

非常感谢!

【问题讨论】:

  • ggplot 是一个绘图包——它非常擅长绘制你给它的数据。您也许可以拼凑一些东西,以便完成统计测试并在 ggplot 中计算结果,但如果您使用 Tukey 测试执行单独的 ANOVA 并为 ggplot 提供结果,这可能会容易得多。
  • 不客气!说了这么多——我认为如果您包含 ANOVA/Tukey 测试的代码并放宽 “通过 ggplot 执行单独的 ANOVA/Tukey 测试来实现” 约束,您将获得有用的答案。如果你不这样做,我怀疑你会取得很大的成功。

标签: r graph anova letter


【解决方案1】:

试试这个:

library(tidyverse)
stat_pvalue <- df %>% 
  rstatix::tukey_hsd(reading~name) %>% 
  rstatix::add_y_position(fun = "max")

ggplot(df, aes(x=name, y=reading))+
  stat_summary(fun=mean, geom="bar") + 
  stat_summary(fun.data = mean_se, geom = "errorbar", color="red")+
  ggpubr::stat_pvalue_manual(stat_pvalue,  label = "p.adj.signif") +
  ggpubr::stat_compare_means(method = "anova")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-16
    • 1970-01-01
    • 1970-01-01
    • 2013-06-09
    • 2013-02-04
    • 2021-05-09
    相关资源
    最近更新 更多