我已经尝试搜索此问题,但没有结果。已设法重现以下错误。
问题是:我尝试添加第四行,表示每年所有字母的平均值。到目前为止,我只能生成每个字母的平均值。在最后一行geom_line之前,一切都运行良好(),这意味着生成聚合错误。()。另一个考虑是在Letters下添加"Mean"值,以便无论如何都能生成它们,但我相信有一个更简单的方法。
library(tidyverse)
Letters <- rep(c("A","B","C"),20)
Years <- rep(c(1990:1999),6)
Numbers <- runif(60, min = 0, max = 20)
df <- data.frame(Letters, Years, Numbers) %>%
group_by(Letters,Years) %>%
summarise(Letter_Mean= mean(Numbers),.groups = 'drop')
meanallletters <- df %>%
group_by(Years) %>%
summarise(all_mean = mean(Numbers),.groups = 'drop') %>%
select(-Years)
lineplotsample <- df %>%
ggplot(aes(x=Years, y=Letter_Mean, color = Letters))
## this doesn't work
lineplotsample + geom_line() + geom_point() + geom_line(aes(Years, y= meanallletters))
## this works, but missing the line representing aggregate mean
lineplotsample + geom_line() + geom_point()
1条答案
按热度按时间t9aqgxwy1#
我将汇总数据,然后将其绑定到原始数据的底部,如下所示:
由reprex package(v2.0.1)于2023年2月12日创建
这里有一个更通用的指定级别的方法,它也处理了
Letters
最初是一个因素的情况。由reprex package(v2.0.1)于2023年2月12日创建