График временного ряда стандартного отклонения по r - PullRequest
0 голосов
/ 29 апреля 2018

Я бы хотел изобразить стандартное отклонение временного ряда в виде тени или двух пунктирных линий, которые встраивают временной ряд, но я не могу найти решение. Я хочу построить что-то вроде этого (это фактические данные, но я создал объект зоопарка, и я хочу работать с этим ts), где красные пунктирные линии представляют стандартное отклонение.

Заранее спасибо

enter image description here

Это выдержка из dput (df)

structure(c(27.97, 27.95, 27.96, 27.95, 27.97, 27.98, 27.95, 
27.94, 27.92, 27.92, 27.9, 27.89, 27.88, 27.88, 27.87, 27.87, 
27.85, 27.86, 27.86, 27.84, 27.87, 27.87, 27.85, 27.86, 27.85, 
27.84, 27.82, 27.82, 27.83, 27.84, 27.83, 27.83, 27.83, 27.83, 
27.83, 27.83, 27.83, 27.82, 27.81, 27.8, 27.82, 27.82, 27.8, 
27.81, 27.78, 27.78, 27.81, 27.8, 27.81, 27.8, 27.79, 27.77, 
27.76, 27.76, 27.76, 27.76, 27.75, 27.72, 27.72, 27.72, 27.71, 
27.69, 27.71, 27.72, 27.72, 27.71, 27.71, 27.7, 27.71, 27.69, 
27.7, 27.67, 27.67, 27.66, 27.67, 27.66, 27.66, 27.68, 27.67, 
27.67, 27.65, 27.67, 27.66, 27.66, 27.64, 27.65, 27.66, 27.65, 
27.66, 27.63, 27.64, 27.6, 27.59, 27.57, 27.59, 27.59, 27.58)
,index = 1:4417, class = "zoo")

1 Ответ

0 голосов
/ 29 апреля 2018

Если вы хотите придерживаться zoo и не использовать ggplot реализацию, ваниль lines(), кажется, делает то, что вы хотите, достаточно хорошо.

В приведенном ниже коде k1 - это объект zoo, который я создал из вашего dput.

plot.ts(k1, ylim=c(27.5, 28.5)) 
lines(k1+1*sd(k1), lwd=0.6, lty=2)
lines(k1-1*sd(k1), lwd=0.6, lty=2)

Выход: enter image description here

...