Создайте функцию, которая делает подсчет и означает
stat_box_data <- function(y) {
return(
data.frame(
y = 0.5+1.1*max(y), #may need to modify this depending on your data
label = paste('count =', length(y), '\n',
'mean =', round(mean(y), 1), '\n')
)
)
}
)
}
df.m <- melt(iris, id.var = "Species")
Вы можете использовать это или что-то подобное, если у вас есть большие выбросы вместо бита y=0.5...
выше:
y=quantile(y,probs=0.95)*1.1,
Нанесите на график данные и используйте stat_summary
со своей пользовательской функцией
ggplot(data = df.m, aes(x=Species, y=value)) +
geom_boxplot(aes(fill=Species))+
stat_summary(
fun.data = stat_box_data,
geom = "text",
hjust = 0.5,
vjust = 0.9
) +
facet_wrap( ~ variable, scales="free")