Преобразование временного ряда в R в массив данных со столбцами - PullRequest
0 голосов
/ 26 ноября 2018

У меня есть временной ряд, который был сгенерирован следующим образом.

y <- rnorm(1000, rep(c(10,15,12,6,9,7,1L,8,15), each=5),0.5)

myts <- ts(y, start=c(2009, 1), end=c(2015, 12), frequency=12)

Тип myts двойной.

typeof(myts)
[1] "double"

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

Я попытался преобразовать его в фрейм данных, используя следующее.

b <- as.data.frame(myts)

Он вернул список, когда я проверил его содержимое, используя head(b) тамне было столбца даты, только значения.Если я проверяю тип данных столбца, он возвращает следующее.

'data.frame':   84 obs. of  1 variable:
 $ x: Time-Series  from 2009 to 2016: 9.6 10.15 9.83 9.48 10.23 ...

Но когда я строю график, мне дают график, который имеет измерение времени, начиная с 2009 по 2016 год. Я не знаю, каксобрал ли он измерение времени при построении данных.

Я попытался преобразовать myts другим способом,

df <- data.frame(date=as.Date(index(myts)), Y = melt(myts)$value)

Но он присоединяет другое измерение времени, когда я проверяю типы столбцов, используя str(df) это дает мне следующее.

'data.frame':   84 obs. of  2 variables:
 $ date: Date, format: "1975-07-03" "1975-07-03" "1975-07-03" "1975-07-03" ...
 $ Y   : Time-Series  from 2009 to 2016: 9.6 10.15 9.83 9.48 10.23 ...

Мне нужны два столбца, одна дата и другое значение, или мне нужны два столбца из Y выше, один с годом и месяцами, а другой со значениямиили два столбца из b выше, который возвращает один столбец с датой и значениями.Я должен дать это в качестве входных данных для алгоритма обнаружения аномалий в Twitter, пророка Facebook и пакета Changepoint, который ожидает две разные колонки.

Как я могу это сделать?

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