我正在将一个对象转换为 xts,不知道我应该选择哪个索引类。
我尝试找出系统默认选择的索引类,我输入

class(index(as.xts(sample_matrix)))
[1] "POSIXct" "POSIXt"

哪个是 xts 对象的默认( native )索引类?一个对象如何同时属于两种类型的类?

最佳答案

一个对象可以属于多个类。注意 xts 对象继承自 zoo,所以 xts 对象本身有几个类。

> class(as.xts(sample_matrix))
[1] "xts" "zoo"
POSIXct 是 xts 对象索引的默认类。 POSIXt 是一个虚拟类,POSIXctPOSIXlt 都继承自它,它允许您在两个类之间混合操作。
> s <- Sys.time()
> class(s)
[1] "POSIXct" "POSIXt"
> s - as.POSIXlt(s)
Time difference of 0 secs

如果 POSIXctPOSIXlt 不是都继承自 POSIXt ,那么会发生这种情况:
> s - as.Date(s)
[1] "2014-02-26 03:01:54 CST"
Warning message:
Incompatible methods ("-.POSIXt", "-.Date") for "-"

更多细节可以在 ?POSIXt 中找到。

关于r - xts 对象的原生默认索引类是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22042778/

10-13 04:49