добавить среднее значение на диаграмме с помощью ggpubr

Я пытаюсь добавить метку на коробку с помощью пакета 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")

Если возможно, я хотел бы поместить текст среднего значения прямо под «p = 0,000», который взят из кода «stat_compare_means».

кроме того, есть ли способ удалить легенду, автоматически созданную при группировке сюжета?

финальный сюжет, который я хочу сделать, выглядит так:

https://i.stack.imgur.com/qudMy.png

  1. добавить среднее значение в виде текста на диаграмме
  2. удалить легенду вверху

Заранее спасибо!


person mercury    schedule 06.05.2018    source источник
comment
А где должно быть среднее значение? На медиане?   -  person erocoar    schedule 06.05.2018
comment
@erocoar ниже значения p было бы неплохо, но где угодно можно   -  person mercury    schedule 07.05.2018
comment
пожалуйста, измените свой вопрос и включите некоторые данные и код. Не могу открывать ссылки.   -  person Roman    schedule 08.05.2018
comment
@Jimbou Я только что изменил вопрос. Благодарность   -  person mercury    schedule 08.05.2018


Ответы (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")

введите описание изображения здесь

person Roman    schedule 09.05.2018