Использование даты для определения номера ввода данных в векторе временных рядов - PullRequest
0 голосов
/ 25 августа 2018

В настоящее время я работаю с данными временных рядов. Преобразовав данные с использованием функции временного ряда и указав правильную начальную точку и частоту, я задался вопросом, возможно ли выполнять операции, используя дату в качестве индикатора для ссылки на конкретный ввод данных. Более конкретно, если у меня есть квартальные серии с 1994Q1 по 2007Q2, я подумал, могу ли я получить доступ к ряду записей данных, используя что-то вроде

Я надеюсь, что следующий код поможет понять мою проблему:

# Assuming that full.data is the data sample
full.data <- ts(seq(1:56),start=c(1994,1),frequency = 4)

# I would like to extract specific data entries using dates. Of course,
# the example below does not work but I wondered if something similar like this would be possible:
data.short <- data.full["1995Q1" : "2005Q2"]

Я был бы очень признателен за любую помощь или идею, большое спасибо!

Ответы [ 2 ]

0 голосов
/ 25 августа 2018

Преобразовать в xts, а затем использовать показанный синтаксис. Вы можете опустить преобразование обратно, если с объектом xts все в порядке:

library(xts)

xx <- as.xts(full.data)
as.ts(xx["1995-1/2005-2"])

дает:

   Qtr1 Qtr2 Qtr3 Qtr4
1     5    6    7    8
2     9   10   11   12
3    13   14   15   16
4    17   18   19   20
5    21   22   23   24
6    25   26   27   28
7    29   30   31   32
8    33   34   35   36
9    37   38   39   40
10   41   42   43   44
11   45               
0 голосов
/ 25 августа 2018

Вы можете использовать функцию window(), которая, очевидно, предназначена для этого сценария:

data.short <- window(full.data, start = c(1995, 1), end = c(2005, 2))

См. ?window для получения дополнительной информации.

...