在ggplot中添加均线

9
我希望在这个示例的基础上进行改进,使得线条颜色能够根据斜率变化,并添加一条平均线(从t=1的平均值到t=2的平均值)。
library(dplyr)
set.seed(205)
dat = data.frame(t=rep(1:2, each=10), 
                 pairs=rep(1:10,2), 
                 value=rnorm(20))

ggplot(dat %>% group_by(pairs) %>%
         mutate(slope = (value[t==2] - value[t==1])/(2-1)),
       aes(t, value, group=pairs, colour=slope > 0)) +
  geom_point() +
  geom_line()

我尝试添加 stat_summary(fun.y=mean, geom="line"),但没有成功。

stat_summary() 中的计算失败:'what' 必须是函数或字符字符串。

1个回答

13

我没有遇到你描述的错误(使用ggplot2 v 2.2.0),但为了获得所需的结果,我确实需要覆盖您在主绘图中指定的分组:

stat_summary(fun.y=mean,geom="line",lwd=2,aes(group=1))

谢谢,@benbolker。我升级到了2.2并重新启动了R,但在关闭我的RStudio项目之前它无法生成正确的图表。我猜这是一些警告的本地化问题。 - Eric Green

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接