gpt4 book ai didi

r - 想要绘制分组数据的平均值并添加置信限度

转载 作者:行者123 更新时间:2023-12-01 10:17:00 25 4
gpt4 key购买 nike

我有一些数据需要计算和绘制平均值和 95% 的置信限度,但我不知道我的代码哪里出了问题。数据按年份分组,我想过使用 stat_smooth() 来绘制置信区间区域,但我就是无法实现。如果我尝试我得到一个错误:

Error: geom_path: If you are using dotted or dashed lines, colour, size and linetype must be constant over the line

    library(ggplot2)
library(dplyr)
dat <- data.frame(cbind(rep(1:10,10),rnorm(100,600,sd=100),rnorm(100,400,sd=50),rnorm(100,700,sd=100)))
colnames(dat) <- c("year","S4","S5","S6")

df<-data.frame(dat)
ggplot(df)+
geom_line(aes(x=year, y=mean(df$S4),colour=year)) +
geom_line(aes(x=year, y=quantile(df$S4,0.95),colour=year),linetype="dotted") +
geom_line(aes(x=year, y=quantile(df$S4,0.05),colour=year),linetype="dotted")

最佳答案

你能用stat_summary吗:

ggplot(df, aes(x = year, y = S4)) +
stat_summary(geom = "line", fun = mean, linetype = "solid") +
stat_summary(geom = "ribbon", fun.data= mean_cl_normal, fun.args = list(conf.int=0.95), alpha=.1)

绘图

plot with mean and 95% CI

编辑:

对于多个变量/行,建议首先使用 pivot_longer 以“长”格式放置数据,然后绘制。也许可以对不同的变量使用不同的颜色。

df <- dat %>%
pivot_longer(cols = c(S4, S5, S6), names_to = "variable", values_to = "value")

ggplot(df, aes(x = year, y = value, color = variable)) +
stat_summary(geom = "line", fun = mean, linetype = "solid") +
stat_summary(geom = "ribbon", fun.data= mean_cl_normal, fun.args = list(conf.int=0.95), alpha=.1)

关于r - 想要绘制分组数据的平均值并添加置信限度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60686112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com