Каков наилучший способ превратить XTS в Tibble - PullRequest
0 голосов
/ 26 февраля 2019

Начиная с версии пакета tibble 2.0.1, как лучше всего преобразовать объект xts в tibble?Рассмотрим следующий пример

library(tibble)
library(xts)

myxts <- xts(matrix(1:4, 2, 2), order.by = seq.Date(from = as.Date("2019-02-26"), length.out = 2, by = "d"))

as_tibble(myxts)

. Это дает предупреждение:

Предупреждающее сообщение: вызов as_tibble() для вектора не рекомендуется, потому что поведение может измениться в будущем,Вместо этого используйте enframe(name = NULL).

Однако использование enframe приводит к ошибке:

enframe(myxts, name = NULL)

Ошибка: x не должно иметь более одного измерения.length(dim(x)) должен быть нулем или единицей, а не 2.

Мне известен пакет timetk, в котором есть функция для преобразования объектов xts в тиблы.Тем не менее, этот пакет является осиротевшим, поэтому я бы предпочел его избежать.

Спасибо за отзывКонечно, можно сначала преобразовать объект xts в произвольный объект (например, в кадр данных), а затем в таблицу.Но разве не должно быть и прямого пути?

1 Ответ

0 голосов
/ 26 февраля 2019

Используйте fortify.zoo, чтобы преобразовать его во фрейм данных, а затем as.tibble, чтобы преобразовать его в тиббл.

myxts %>% fortify.zoo %>% as.tibble

, что дает:

# A tibble: 2 x 3
  Index          .   ..1
  <date>     <int> <int>
1 2019-02-26     1     3
2 2019-02-27     2     4
...