我想将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
公平地说,扩展它是否相当简单,以便我可以为我自己的(列表扩展)类工作?我是否为适用于我自己班级的coredata
,index
和xts
编写方法,或者我是否需要先为list
添加类似的方法?
我在文档或小插图中找不到任何内容,但我可能遗漏了一些明显的东西。
主要是我想基于递归向量创建一个简单的类,然后将xts
和index
的{{1}}工具应用于此。提取工具允许使用简单的字符串按时间间隔进行索引,即[“2013-05-31 10”]表示当天10:00:00到10:59:59之间的间隔,这是我的功能喜欢[
。
答案 0 :(得分:0)
xts对象(实质上)是数字矩阵加索引属性。
因此约束是a)有一个数字矩阵(你知道如何从列表中创建)和b)有一个POSIXt
对象的索引。
如果您对列表感兴趣,请将您的数据保存为... xts对象列表。
答案 1 :(得分:0)
探索源代码表明,如果没有实质性的工作,这是不可能的(正如Joshua在上面的评论中所说)。
提供对输入类型的一般支持的代码是以xts为单位的C,因此单独使用它可以在原子向量,矩阵和data.frames之外应用它。
zoo
中的类似代码是纯R,因此可以更轻松地工作,但我希望支持允许按时间间隔使用简单的字符串进行索引,即[“2013-05-31 10” ]表示当天10:00:00至10:59:59之间的间隔。
我能看到的最佳选择是
xts
的对象,并定义将支持传播到递归列表组件的方法。 (在整个S4上下文中有这样的例子,例如在spacetime
中。)