2

我想将该xts课程应用于列表。

y <- list(1, 2, 3)
tm <- Sys.time() + 1:3
require(xts)
xts(x = y, order.by = tm)
## Error in coredata.xts(x) : currently unsupported data type

足够公平,扩展它是否相当简单,以便我可以为我自己的(列表扩展)类工作?我是否编写适用于我自己的类的方法coredataindex或者xts我是否需要首先添加类似的方法list

我在文档或小插曲中找不到任何内容,但我可能遗漏了一些明显的东西。

首先,我想创建一个基于递归向量的简单类,然后将工具xts应用于该类。提取工具允许使用简单字符串按时间间隔进行索引,即 ["2013-05-31 10"] 表示当天 10:00:00 和 10:59:59 之间的间隔,这是我想要的功能喜欢得到。index[for free

4

2 回答 2

0

探索源代码表明,如果没有大量工作,这实际上是不可能的(正如 Joshua 在上面的评论中所说)。

为输入类型提供一般支持的代码在 xts 中的 C 语言中,因此仅在原子向量、矩阵和 data.frames 之外应用它就需要付出额外的努力。

中的类似代码zoo是纯 R,因此可以更轻松地工作,但我希望支持使用简单字符串按时间间隔进行索引,即 ["2013-05-31 10"] 表示 10:00 之间的间隔当天 :00 和 10:59:59。

我能看到的最好的选择是

  1. 挖掘或重新创建用于时间间隔索引的代码并应用于新类
  2. 创建一个对象,其中包含xts并定义将支持传播到递归列表组件的方法。(在整个 S4 上下文中有这样的例子,例如在spacetime。)
于 2013-05-31T12:35:20.003 回答
0

xts 对象(本质上)是一个数字矩阵加上一个索引属性。

因此,约束是 a) 具有数字矩阵(您知道如何从列表创建)和 b) 具有POSIXt索引对象。

如果您需要列表,请将您的数据保存为... xts 对象的列表。

于 2013-05-31T00:00:52.020 回答