我这里有一个示例数据集:
data = data.frame(Region = c(rep("Upper",50), rep("Lower", 50)),
Weight = c(rnorm(50, 2, 1), rnorm(50, 4, 1)))
我想在 ggplot 中创建一个直方图,每个直方图的平均值都用红线覆盖。
ggplot(data=data, aes(x=Weight))+geom_histogram()+geom_vline(xintercept=mean(Weight), col="red")+facet_grid(Region~.)
最佳答案
按区域
对数据
进行分组,并计算每个权重
的平均值。
data <- data %>% group_by(Region) %>% mutate(mean = mean(Weight))
ggplot(data, aes(x = Weight)) +
geom_histogram() +
facet_grid(Region~.) +
geom_vline(aes(xintercept = mean, group = Region), colour = 'red')
关于r - 如何向每个面板添加一条平均线是facet_grid()对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71742365/