微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将stat_pvalue_manual与fill = GROUP组合

如何解决将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 举报,一经查实,本站将立刻删除。