R xts对象在子集设置时丢失xts类

R xts对象在子集设置时丢失xts类,r,subset,xts,R,Subset,Xts,考虑以下几点 junk1.xts <- xts(c(0:10), as.yearqtr("1975 Q1") + 0.25*(0:10)) junk2.xts <- xts(c(30:0), as.yearqtr("1970 Q1") + 0.25*(0:30)) junk2a.xts <- junk2.xts[index(junk1.xts),] class(junk1.xts) class(junk2.xts) class(junk2a.xts) 但第三个结果是: [1]

考虑以下几点

junk1.xts <- xts(c(0:10), as.yearqtr("1975 Q1") + 0.25*(0:10))
junk2.xts <- xts(c(30:0), as.yearqtr("1970 Q1") + 0.25*(0:30))
junk2a.xts <- junk2.xts[index(junk1.xts),]
class(junk1.xts)
class(junk2.xts)
class(junk2a.xts)
但第三个结果是:

[1] "zoo"

为什么??这是正常还是错误?防止它并为第三个对象保留xts类的最佳方法是什么?

我想我发现了问题。我正在尝试向xts对象添加一个标签功能,该功能模仿Hmisc中的功能。在这样做的过程中,我为
[.xts
定义了一个函数。它最初工作正常,但后来我对效率做了一些更改。其中一个函数破坏了该函数


很抱歉给您带来不便。

我没有观察到xts 0.10-0的这种异常行为。我很想知道您的用例。可能有一种方法可以在不覆盖
[.xts
的情况下实现您想要的功能。即使没有,请记住xts中的“x”代表“可扩展”。因此,您可以将xts子类化,只需覆盖
[.xts
函数来做你想做的事。我正在启动一个研究项目,涉及时间序列分析,有几种不同来源的时间序列——宏观经济总量、价格指数等。为了跟踪变量,我在对象和变量级别将标签和单位合并到xts对象中。所有e存储为xts属性。在对象级别,它们包括应用于整个xts对象的标量“标签”和“单位”项;在变量级别,它们包括变量名称(变量标签)和单位(单位标签)列表
[1] "zoo"