将矩阵转换为 xts 对象

cod*_*doc 1 r xts

我是 R 新手,需要使用包getnfac中的函数PANICr。而且该函数似乎只接受一个xts对象作为其第一个参数。然而,在我读了一些书之后,我仍然不明白什么xts是对象。谁能告诉我如何将 a 转换matrixxts对象?

下面我使用return矩阵作为第一个参数。因此我只需要转换return为一个xts对象。

getnfac(return,143,"BIC3")
Error in getnfac(return, 143, "BIC3") : 
  x must be an xts object so lags and differences are taken properly
Run Code Online (Sandbox Code Playgroud)

Aks*_*elA 5

xts是一个可扩展的时间序列对象,本质上是一个添加了一些位的常规ts对象(或更准确地说是一个zoo对象)。
名称的“可扩展”部分是指如何添加您自己选择的属性。

虽然 amatrix可以很容易地转换为多元时间序列

m <- matrix(1:16, 4)
m.ts <- ts(m)
index(m.ts)
Run Code Online (Sandbox Code Playgroud)

Anxts要求其索引(描述每个样本采集时间的向量)采用日期或时间格式

library(xts)
m <- matrix(1:16, 4)
d <- as.Date(1:nrow(m))
m.xts <- xts(m, order.by=d)
index(m.xts)
Run Code Online (Sandbox Code Playgroud)

如果您的数据以均匀间隔进行采样,则像上面这样的虚拟索引可能就可以了。如果没有,您需要提供与采样时间相对应的向量。