Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 将矩阵转换为xts对象_R_Xts - Fatal编程技术网

R 将矩阵转换为xts对象

R 将矩阵转换为xts对象,r,xts,R,Xts,我是R新手,需要使用panir包中的函数getnfac。这个函数似乎只接受一个xts对象作为它的第一个参数。然而,经过一些阅读之后,我仍然不明白xts对象是什么。谁能告诉我如何将矩阵转换成xts对象 下面我使用returnmatrix作为第一个参数。因此,我只需要将return转换为xts对象 getnfac(return,143,"BIC3") Error in getnfac(return, 143, "BIC3") : x must be an xts object so lags

我是R新手,需要使用
panir
包中的函数
getnfac
。这个函数似乎只接受一个
xts
对象作为它的第一个参数。然而,经过一些阅读之后,我仍然不明白
xts
对象是什么。谁能告诉我如何将
矩阵
转换成
xts
对象

下面我使用
return
matrix作为第一个参数。因此,我只需要将
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

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

矩阵
可以很容易地转换成多元时间序列

m <- matrix(1:16, 4)
m.ts <- ts(m)
index(m.ts)

如果您的数据是以等距间隔采样的,那么像上面那样的虚拟索引可能是可以的。如果没有,则需要提供与采样时间对应的向量。

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

矩阵
可以很容易地转换成多元时间序列

m <- matrix(1:16, 4)
m.ts <- ts(m)
index(m.ts)

如果您的数据是以等距间隔采样的,那么像上面那样的虚拟索引可能是可以的。如果没有,则需要提供一个与采样时间对应的向量。

在我看来,
getnfac()
函数的第一个参数应该是包含数据的矩阵

除了上述答案之外,
您可以使用关于
xts
对象的
coredata()
转换矩阵格式。

在我看来,
getnfac()
函数的第一个参数应该是包含数据的矩阵

getnfac(return,143,"BIC3")
Error in getnfac(return, 143, "BIC3") : 
  x must be an xts object so lags and differences are taken properly
除了上述答案之外,
您可以使用
coredata()
关于
xts
对象转换矩阵格式。

您认为呢?引用
getnfac
的源代码,第4行:
是.xts(x)| | stop(“x必须是一个xts对象,以便正确地处理滞后和差异”)
。没有两种方法,提供一个
xts
对象,否则进程将停止。@AkselA我猜他的意思是他认为API设计应该采用矩阵。这个答案应该是对这个问题的评论。。。但IIRC需要20名代表才能发表评论。顺便说一句,
coredata()
是将xts转换成矩阵,而这里要问的是如何将矩阵转换成xts。您认为呢?引用
getnfac
的源代码,第4行:
是.xts(x)| | stop(“x必须是一个xts对象,以便正确地处理滞后和差异”)
。没有两种方法,提供一个
xts
对象,否则进程将停止。@AkselA我猜他的意思是他认为API设计应该采用矩阵。这个答案应该是对这个问题的评论。。。但IIRC需要20名代表才能发表评论。顺便说一句,
coredata()
是将xts转换为矩阵,而这里要问的是如何将矩阵转换为xts。
getnfac(return,143,"BIC3")
Error in getnfac(return, 143, "BIC3") : 
  x must be an xts object so lags and differences are taken properly