Выровняйте временные ряды ts или zoo разных частот в «среднем периоде» по оси X - PullRequest
0 голосов
/ 11 марта 2012

Мне нужно построить ряд временных рядов разных частот в R, и мне нужно, чтобы они центрировали точки на периоде, а не начинались в начале каждого периода.Вот иллюстрация того, с чем я сталкиваюсь:

test1 <- ts(rnorm(24), start=2004, freq=12)
test2 <- ts(rnorm(2), start=2004, freq=1)
plot(test1, type='l')
lines(test2, col='red')

Я бы хотел, чтобы красная линия по существу сдвигалась вперед на 6 месяцев к среднему значению каждый год.Я провел немного времени с документацией R для "ts" и не выяснил, как это сделать - какие-либо предложения?

Ответы [ 2 ]

2 голосов
/ 11 марта 2012

Как насчет изменения начала временного ряда?

test2 <- ts(rnorm(2), start=2004.5, freq=1)
1 голос
/ 11 марта 2012

Я согласен с @haggai_e, что сдвиг параметра 'start' имеет смысл, но если у вас уже есть объект ts, тогда код для использования этих значений будет:

lines(ts(test2, start=2004.5, freq=frequency(test2)) )

ts-объекты на самом деле являются просто числовыми векторами с атрибутами. Вы восстанавливаете эти атрибуты с start, end и frequency. end фактически вычисляется на лету из (length/frequency -1) вектора, добавленного к start.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...