11

我有一个文件,其中包含从 a 到 k 的多个变量的时间序列数据。

我想创建一个图表,绘制变量 a 到 k 随时间变化的平均值,在该平均线之上和之下添加一个平滑区域,表示每天的最大和最小变化。

所以类似于置信区间,但在平滑版本中。

这是数据集: https ://dl.dropbox.com/u/22681355/co.csv

这是我到目前为止的代码:

library(ggplot2)
library(reshape2)
meltdf <- melt(df,id="Year")
ggplot(meltdf,aes(x=Year,y=value,colour=variable,group=variable)) + geom_line()
4

1 回答 1

11

这描绘了自举的 95 % 置信区间:

ggplot(meltdf,aes(x=Year,y=value,colour=variable,group=variable)) +
  stat_summary(fun.data = "mean_cl_boot", geom = "smooth")

ggplot 平滑引导置信度

这描绘了所有变量 +-1SD 的所有值的平均值:

ggplot(meltdf,aes(x=Year,y=value)) +
  stat_summary(fun.data ="mean_sdl", mult=1, geom = "smooth")

在此处输入图像描述

您可能想在计算变量的均值和 SD 之前计算年份均值,但我将其留给您。

但是,我相信 boostrap 置信区间会更明智,因为分布显然不是对称的。它也会更窄。;)

当然,您可以对您的值进行对数转换。

于 2012-11-12T10:09:42.487 回答