【发布时间】:2018-06-22 03:14:02
【问题描述】:
我正在尝试做类似于this question 的事情,但希望在一个块中完成,而不是单独缓存值。
我正在创建一个类似这样的图表:
library(tidyverse)
mtcars %>%
rownames_to_column("carmodel") %>%
mutate(brand = substr(carmodel, 1, 4)) %>%
group_by(brand, cyl) %>%
summarize(avgmpg = mean(mpg)) %>%
ggplot(aes(x=brand, y = avgmpg)) +
geom_point() +
facet_grid(cyl~., scales = "free_y") +
coord_flip()
按其中一个字段分组,然后在结果上绘制计算出的summarize() 值,使用构面将相似的观察结果放在一起。我想做的是在每个方面添加一条线,显示该方面的观察平均值。我尝试将geom_hline(aes(yintercept = mean(avgmpg))) 添加到定义中,但它返回整个数据集的平均值,而不是方面的观察结果:
我所追求的更像是这样。 (这里的线条是用图像编辑器绘制的。)
这可能吗?
【问题讨论】:
-
查看此处示例的末尾:ggplot2.tidyverse.org/reference/geom_abline.html 它准确显示了如何计算特定于方面的均值。