我根据R的数据集得到了从1710年到1980年的太阳黑子数量的时间序列 .
我试图估计"y"值的相关矩阵 . 我尝试使用timeSeries包中的cor( . )函数(https://cran.r-project.org/web/packages/timeSeries/timeSeries.pdf)(第64页) . 但它不起作用 .
让“yp”成为我从1710年到1980年的观测向量(时间序列对象) . 我的代码是:
CorrelationMatrice=cor(yp,y=NULL,use = "all.obs", method = c("pearson"))
感谢您阅读这篇文章 .
错误的形式如下:
Error in cor(yp, y = NULL, use = "all.obs", method = c("pearson")) :
give 'x' and 'y' or 'x' as a matrix
我想我的相关矩阵给出了来自yp的每对观察结果ci和cj之间的相关性 .
1 回答
您收到错误的原因是您提供的时间序列示例(yp)是向量 . 如果仔细查看timeSeries包的文档,您将看到使用的示例时间序列是矩阵而不是向量,这就是您收到以下错误消息的原因
如果使用矩阵表示yp而不是向量,则不会出现错误 . 例:
您可以尝试使用向量同时使用X和Y
cor(yp, y = yp, use = "all.obs", method = c("pearson"))
并获得一个271x271的相关矩阵,但是没有太多意义,因为您会得到1的相关性 .为了生成您正在寻找的相关矩阵,您需要比较两个不同的时间序列,而不是将一次性序列与自身进行比较 . 例如,您可以将道琼斯工业平均指数与一段时间内的欧元/美元汇率进行比较 .