我试图在10个箱子中平均时间序列数据并绘制箱子平均值图。
使用ggplot2
,如何使用stat_summary_bin()
覆盖错误栏?
以下是我的尝试:
# My data
load("xyz.Rdata")
str(df)
# data.frame': 125 obs. of 3 variables:
# $ xdata : num -0.0209 -0.04 1.4145 0.7419 0.9393 ...
# $ ydata : num -19.78 -23.29 8.86 16.04 11.65 ...
# $ ir.fac: Factor w/ 3 levels "irh","irl","irm": 2 2 3 3 3 1 3 3 3 2 ...
# Graph
ggplot(df) +
stat_summary_bin(aes(x = xdata, y = ydata, color= ir.fac),
fun.y = "mean",
bins= 10, size= 0.5,
geom= 'line') +
stat_summary_bin(aes(x = xdata, y = ydata, color = ir.fac),
fun.y = "mean",
bins= 10, size= 2,
geom= "point")
答案 0 :(得分:1)
以下是使用内置iris
数据框的示例。 fun.data=mean_se
默认情况下给出一个错误条等于+/- 1标准错误的点。要将此更改为1.96标准错误,请将参数fun.args=list(mult=1.96)
添加到stat_summary_bin
。
library(ggplot2)
theme_set(theme_classic())
pd=position_dodge(0.07)
ggplot(iris) +
stat_summary_bin(aes(x = Sepal.Width, y = Sepal.Length, color= Species),
fun.y = "mean", position=pd,
bins= 10, size=0.8,
geom= "line") +
stat_summary_bin(aes(x = Sepal.Width, y = Sepal.Length, color= Species),
fun.data = mean_se, position=pd,
bins= 10, size= 0.4)
如果您需要自举置信区间而不是传统的标准错误,则可以使用fun.data=mean_cl_boot
代替fun.data=mean_se
,默认情况下会提供95%CI。