我一直在R上运行dcc garch;结果显示为矩阵
我想提取第二列作为绘图的矢量,在x轴上有日期。 目前,如果我定义 DCCrho = dccresults $ DCC [,2] 然后head(DCCrho)产生这个:
1 0.9256281
2 0.9256139
3 0.9245794 ...
任何帮助将此重新定义为数值的简单向量? 在x轴上用日期绘制dcc结果的任何其他选项? 非常感谢!
尝试这个时
x< - cbind(DCCrho,com_30 [,2])
头(x)的
并且: matplot(DCCrho~x [,2],x,xaxt =“n”,type ='l')
产生以下错误消息:
“数组中的错误(x,c(长度(x),1L),if(!is.null(names(x)))list(names(x),): 无效的第一个参数“
答案 0 :(得分:1)
显然这是矢量的长度问题;日期和DCC结果需要是相同长度的向量。
还需要绘制日期和DCCrho,如下所示。
matplot(com_30$date, DCCrho, xaxt = "n", type='l')
axis(1, com_30$date, format(com_30$date, "%y"), cex.axis = .7)
答案 1 :(得分:0)
我假设当你说“我想提取第二行......”你实际上是指“列”,因为你做了以下事情:dccresults$DCC[,2]
另外,正如以前的评论,代码不可复制,因此很难提出并肯定地回答。但是,我会尽我所能。
你说你想让DCCrho成为“数值的简单向量”。我假设这很大程度上取决于值的显示方式。 DCCrho = as.vector(dccresults$DCC[,2])
看起来更好吗?
至于错误消息,我认为它是matplot(x,y, ...)
中的b / c,x
不能是公式。试试matplot(DCCrho, x[,2])
。
如果您只想在某个索引上绘制DCCrho值,可以尝试以下内容:
Y <- as.vector(dccresults$DCC[,2])
X <- seq_along(Y)
plot(X,Y)
这有用吗?除了任意时间索引之外,您打算将什么称为“时间”?我没有看到你提供的代码的一部分(例如,dccresults $ DCC中的一列),这显然是用作“日期”的候选者。