从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。但是不应该有直接的方式吗?
使用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