【问题标题】:add mean value on boxplot with ggpubr使用 ggpubr 在箱线图上添加平均值
【发布时间】:2018-05-06 17:59:08
【问题描述】:

我正在尝试使用 ggpubr 包在箱线图上添加标签。这是我使用的代码:

library(ggplot2)
library(ggpubr)
compare_means(len ~ supp, data = ToothGrowth, method="t.test", paired=TRUE, group.by = "dose")
# Box plot facetted by "dose"
p1 <- ggboxplot(ToothGrowth, x = "supp", y = "len", xlab=F,
      color = "supp", palette = "jco",
      facet.by = "dose", add="mean", short.panel.labs = FALSE)
# Use only p as label.
p2 <- p1 + stat_compare_means(method = "t.test", paired = T,  label = "p")
p2

以及样本数据(ToothGrowth)

15.5   VC  1.0
23.6   VC  2.0
18.5   VC  2.0
33.9   VC  2.0
25.5   VC  2.0
26.4   VC  2.0
32.5   VC  2.0
26.7   VC  2.0
21.5   VC  2.0
23.3   VC  2.0
29.5   VC  2.0
15.2   OJ  0.5
21.5   OJ  0.5
17.6   OJ  0.5
 9.7   OJ  0.5
14.5   OJ  0.5
10.0   OJ  0.5
 8.2   OJ  0.5
 9.4   OJ  0.5
16.5   OJ  0.5
 9.7   OJ  0.5

有什么方法可以将平均值作为文本添加(除了点使用:add="mean")

如果可能,我想将平均值文本放在来自“stat_compare_means”代码的“p=0.000”下方。

还有,有没有办法去除分组情节时自动生成的图例?

我想要制作的最终情节如下所示:

  1. 将平均值作为文本添加到箱线图上
  2. 删除顶部的图例

提前致谢!

【问题讨论】:

  • 平均值应该在哪里?在中位数?
  • @erocoar 低于 p 值会很好,但任何地方都很好
  • 请修改您的问题并包含一些数据和一些代码。我无法打开链接。
  • @Jimbou 我刚刚修改了这个问题。谢谢

标签: r ggplot2 boxplot ggpubr


【解决方案1】:

你可以试试

p1 + stat_compare_means(method = "t.test", paired = T,  label = "p", label.x = 0.8)+ 
     stat_summary(fun.data = function(x) data.frame(y=32, label = paste("Mean=",mean(x))), geom="text") +
     theme(legend.position="none")

【讨论】:

    猜你喜欢
    • 2018-10-14
    • 2017-10-21
    • 2012-08-31
    • 2011-01-30
    • 2019-04-02
    • 2013-09-03
    • 2021-07-01
    • 1970-01-01
    • 2016-03-25
    相关资源
    最近更新 更多