Как это?
library(ggplot2)
set.seed(1)
a <- rnorm(100, mean = 20, sd = 1)
b <- rnorm(100, mean = 22, sd = 1)
aleg <- rep("A",length(a))
bleg <- rep("B",length(b))
data <- data.frame(value=c(a,b), variable=c(aleg,bleg))
labels <-
lapply(split(data, data$variable), function(x){
dens <- density(x$value) # compute density of each variable
data.frame(y = max(dens$y), # get maximum density of each variable
x = dens$x[which(dens$y == max(dens$y))], # get corresponding x value
label = x$variable[1])
})
ggplot(data,aes(x=value, fill=variable)) +
geom_density(alpha=0.25) +
geom_text(data = do.call(rbind, labels), aes(x = x, y = y, label = label),
inherit.aes = F,
nudge_y = 0.03) +
labs(fill="")
