r - 如何向每个面板添加一条平均线是facet_grid()对象?

标签 r facet-grid

我这里有一个示例数据集:

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

enter image description here

关于r - 如何向每个面板添加一条平均线是facet_grid()对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71742365/

相关文章:

r - 相当于 RStudio 构建面板按钮的开发工具

r - 为什么我不能在 R 中使用 ifelse 分配函数?

r - ggplot2:使用选定的面和零件数据创建绘图

r - 为什么在 R ggplot2::facet_grid() 中传递字符串适用于行但不适用于列?

r - 将工具提示添加到 Shiny 中的选项卡

r - 在多列上使用排列/交叉函数混合升序和降序顺序

r - 为每个 geomp_boxplot 绘制单独的 geom_hline

r - scale_x_reordered 在facet_grid 中不起作用

r - 去掉 facet_grid 第一行的空面板

r - ggplot2:为条形图的构面布局中的行指定不同的比例