1

我一直在 R 上运行 dcc garch;结果显示为矩阵

在此处输入图像描述

我想将第二列提取为要绘制的向量,日期在 x 轴上。目前,如果我定义 DCCrho = dccresults$DCC[,2] 那么 head(DCCrho) 会产生这个:

1 0.9256281

2 0.9256139

3 0.9245794 ...

将其重新定义为简单的数值向量有什么帮助吗?在 x 轴上用日期绘制 dcc 结果的任何其他选项?非常感谢!

str(dcresults


在尝试这个时

x <- cbind(DCCrho, com_30[,2])

头(x)

在此处输入图像描述

这: matplot(DCCrho ~ x[,2], x, xaxt = "n", type='l')

产生以下错误消息:

“数组中的错误(x,c(长度(x),1L),如果(!is.null(名称(x)))列表(名称(x),:无效的第一个参数”

4

2 回答 2

1

显然这是向量长度的问题。Date 和 DCC 结果需要是相同长度的向量。

还需要绘制日期和 DCCrho,如下所示。

matplot(com_30$date, DCCrho, xaxt = "n", type='l')
axis(1, com_30$date, format(com_30$date, "%y"), cex.axis = .7)
于 2013-05-06T08:42:48.703 回答
0

我假设当您说“我想提取第二行...”时,您实际上是指“列”,因为您执行了以下操作:dccresults$DCC[,2] 另外,正如前面的评论所指出的,代码不是t 可重现,因此很难确定地提出和回答。不过,我会尽力而为。

您说您希望 DCCrho 成为“简单的数值向量”。我假设这主要是值显示方式的问题。DCCrho = as.vector(dccresults$DCC[,2])看起来更好吗?

至于错误信息,我认为是 b/c in matplot(x,y, ...)x不能是公式。试试matplot(DCCrho, x[,2])

如果您只想在某个索引上绘制 DCCrho 值,您可以尝试以下操作:

Y <- as.vector(dccresults$DCC[,2])
X <- seq_along(Y)
plot(X,Y)

那样有用吗?除了任意时间索引之外,您还打算将什么称为“时间”?我没有看到您提供的代码的一部分(例如,dccresults$DCC 中的列)显然可以用作“日期”。

于 2013-05-05T17:13:08.837 回答