добавить среднее значение на поле с помощью ggpubr - PullRequest
0 голосов
/ 06 мая 2018

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

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

1 Ответ

0 голосов
/ 09 мая 2018

Вы можете попробовать

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")

enter image description here

...