Как вы, вероятно, знаете, на коробчатых диаграммах отображается медиана данных. Поскольку вы уже используете dplyr
, давайте перейдем к ggplot2
. Мы можем добавить среднее значение с помощью stat_summary
и довольно легко провести сравнение с stat_compare_means
из ggpubr
.
library(ggplot2)
library(ggpubr)
ggplot(Cellphone_models,aes(y=Price, x=Cellphone.model)) +
geom_boxplot() + labs(x = "Model") +
stat_summary(fun = "mean", geom = "errorbar", aes(ymax = ..y.., ymin = ..y..), col = "red", width = 0.75) +
stat_compare_means(aes(label = as_lable(..p.adj..)), method = "t.test",
comparisons = list(c("Model B","Model D"),c("Model D","Model E")))
Данные
Cellphone_models <- structure(list(Cellphone.model = structure(c(1L, 1L, 1L, 1L,
1L, 2L, 2L, 2L, 2L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L
), .Label = c("Model A", "Model B", "Model C", "Model D", "Model E"
), class = "factor"), Dimensions = c(10.3, 10.5, 10.2, 10.1,
10, 10, 10.1, 10.2, 9.9, 10, 10.2, 9.8, 9.9, 10.2, 10, 10, 10.1,
9.9, 9.9, 9), Price = c(400L, 350L, 300L, 400L, 500L, 450L, 300L,
200L, 45L, 475L, 560L, 400L, 350L, 300L, 400L, 500L, 450L, 200L,
45L, 475L)), class = "data.frame", row.names = c("1", "2", "3",
"4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15",
"16", "17", "18", "19", "20"))