我有一个文件,其中包含从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)

这描绘了所有变量+ -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置信区间会更明智,因为分布明显不对称.它也会更窄.;)
当然,您可以对您的值进行日志转换.