将xts转换为tibble的最佳方法是什么?

问题描述 投票:1回答:1

从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对象转换为tibbles的功能。但是,这个包是孤儿,所以我宁愿避免它。

感谢您的反馈意见。

编辑:我会对这个问题的整体解决方案感兴趣:当然可以先将xts对象转换为任意对象(例如数据帧),然后转换为tibble。但是不应该有直接的方式吗?

r xts tibble
1个回答
3
投票

使用fortify.zoo将其转换为数据框,然后使用as.tibble将其转换为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
© www.soinside.com 2019 - 2024. All rights reserved.