将stat_pvalue_manual与fill = GROUP组合

问题描述

您好,我尝试使用ggpubr软件包中的stat_pvalue_manual在我的图表上显示一些emmeans的输出和Tukey的事后检验。我过去曾成功使用过stat_pvalue_manual,但从未使用fill = GROUP属性。这似乎引起一些问题。复制此示例所需的软件包是tidyverse,ggpubr,rstatixemmeans。

ToothGrowth$dose <- as.factor(ToothGrowth$dose)
emmeans_tooth <- ToothGrowth %>%
  group_by(supp) %>%
  emmeans_test(len ~ dose,p.adjust.method = "bonferroni")
ggplot(data = ToothGrowth,mapping = aes(x = supp,y = len,fill = dose)) +
  geom_bar(stat = "summary",fun = "mean",position = "dodge") +
  stat_pvalue_manual(data = emmeans_tooth,label = "{p.adj.signif}",y.position = c(30,33,25,35,38),hide.ns = TRUE)

此结构在过去一直有效,但是现在有了填充aes,它返回错误“ FUN(X [[i]],...)中的错误:找不到对象'dose'”。不确定那里发生了什么。

我认为这可能是由于emmeans输出所致,因为我以前没有使用过。但它也不适用于Tukey。我还尝试将maps = aes移至geom,以避免stat_pvalue_manual继承这些美感。

tension_L <- warpbreaks %>%
  filter(tension == "L")
tension_L_aov <- aov(breaks ~ wool,data = tension_L)
summary(tension_L_aov)
tukey_breaks <- tukey_hsd(tension_L_aov)
ggplot(data = warpbreaks) +
  geom_Boxplot(mapping = aes(x = tension,y = breaks,fill = wool)) +
  stat_pvalue_manual(tukey_breaks,y.position = 30,hide.ns = TRUE)

然后成功制作了图形,但在x轴自身的区域中添加了重要性括号。

这对我有用,但是它使用的是t_tests,因此它并不是我想要的正确的事后记录。

stat.test <- ToothGrowth %>%
  group_by(supp) %>%
  t_test(len ~ dose) %>%
  adjust_pvalue(method = "bonferroni") %>%
  add_significance("p.adj")
stat.test <- stat.test %>%
  add_xy_position(x = "supp",dodge = 0.8)
stat.test
bxp <- ggBoxplot(ToothGrowth,x = "supp",y = "len",color = "dose",palette = c("red","blue","green")) +
  stat_pvalue_manual(stat.test,label = "p",tip.length = 0)
bxp

不确定我需要做些什么。我为什么要这样做的理由是要在主题方差分析之间显示两种重要的事后分析(要么来自简单主效果的推力,要么来自Tukey)。有人可以帮我吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)