我有一个文件,其中包含从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()
答案 0 :(得分:10)
这描绘了自举95%置信区间:
ggplot(meltdf,aes(x=Year,y=value,colour=variable,group=variable)) +
stat_summary(fun.data = "mean_cl_boot", geom = "smooth")
这描绘了所有变量的所有值的平均值+ -1SD:
ggplot(meltdf,aes(x=Year,y=value)) +
stat_summary(fun.data ="mean_sdl", mult=1, geom = "smooth")
你可能想在计算变量的均值和SD之前计算年份,但我把它留给你。
然而,我相信一个boostrap置信区间会更明智,因为分布明显不对称。它也会更窄。 ;)
当然,您可以对您的值进行日志转换。