【问题标题】:Plotting in R with Dates用日期在 R 中绘图
【发布时间】:2014-11-29 07:13:50
【问题描述】:
             alpha(1%)    alpha(5%)      realized
2010-12-21 -0.01509998 -0.009001583 -2.035892e-03
2010-12-22 -0.01440173 -0.008577771  9.735154e-04
2010-12-23 -0.01389563 -0.008287957  1.858982e-03
2010-12-27 -0.01376369 -0.008223168 -1.597613e-03
2010-12-28 -0.01337600 -0.007983994  2.548457e-04
2010-12-29 -0.01306351 -0.007802134 -2.021994e-03

您好,以上是我正在使用的数据。当我尝试使用代码绘制预测时

plot(modelroll@forecast$VaR[,"alpha(1%)"])

modelroll@forecast$VaR 是上面的数据,我只得到 x 轴上的观察次数,而我需要日期。为什么 R 不识别日期。当我绘制收益系列时,它确实识别 x 轴上的日期。还有一个问题,如何使用循环为前 10 个观察值提取具有列的特定行,例如 alpha(1%) 列。我试过了

modelroll@forecast$VaR[1:10,"alpha(1%)"]

但它不起作用。提前致谢。

dput(head(modelroll@forecast$VaR))
structure(list(`alpha(1%)` = c(-0.0150999800078312, -0.0144017267128711, 
-0.0138956320928591, -0.0137636901290749, -0.0133759968008841, 
-0.0130635141114229), `alpha(5%)` = c(-0.00900158285193088, -0.0085777709430231, 
-0.0082879574620513, -0.00822316834000325, -0.00798399426075919, 
-0.0078021335073256), realized = c(-0.0020358922408686, 0.000973515436500283, 
0.00185898240838507, -0.00159761300810324, 0.000254845717341201, 
-0.00202199418958748)), .Names = c("alpha(1%)", "alpha(5%)", 
"realized"), row.names = c("2010-12-21", "2010-12-22", "2010-12-23", 
"2010-12-27", "2010-12-28", "2010-12-29"), class = "data.frame")

【问题讨论】:

  • 考虑发布您展示的示例数据的dput 输出。 dput(head(yourdata))
  • @akrun 我了解行名称是日期但我如何选择多个日期?谢谢

标签: r matrix plot


【解决方案1】:

假设df是数据集,

m1 <- as.matrix(df)
d <- as.Date(row.names(m1))
matplot(d, m1, pch=1, xaxt='n')
axis(1, at=d, labels=d)
legend(x='topright', y=3.5, c(' alpha(1%)', ' alpha(5%)', '  realized'),
   pch='15r', col=2:4)

还有,

 m1[1:3, 'alpha(1%)']
 #2010-12-21  2010-12-22  2010-12-23 
 #-0.01509998 -0.01440173 -0.01389563 

【讨论】:

  • @user3504466 没问题。我想知道你为什么使用复杂的对象名称而不是 df
  • 哈哈只是让它看起来更花哨
猜你喜欢
  • 1970-01-01
  • 2019-10-05
  • 2011-05-17
  • 2015-11-23
  • 1970-01-01
  • 1970-01-01
  • 2014-01-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多