使用ggplot绘制时间序列中多个变量的平均值

use*_*765 10 r ggplot2

我有一个文件,其中包含从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()
Run Code Online (Sandbox Code Playgroud)

Rol*_*and 10

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

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

ggplot平滑了bootstrap的信心

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

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

在此输入图像描述

你可能想在计算平均值之前计算年份的平均值,而在变量上计算平均值,但我把它留给你.

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

当然,您可以对您的值进行日志转换.