【问题标题】:R plot.xts error barsR plot.xts 误差线
【发布时间】:2016-09-16 17:33:05
【问题描述】:

尝试使用plot.xts在时间序列图上放置误差线

> myTS[1:20]
           [,1]
2013-07-01   29
2013-07-03   24
2013-07-03   16
2013-07-03   16
2013-07-03   12
2013-07-03   12
2013-07-03   16
2013-07-03   21
2013-07-03   21
2013-07-03   16
2013-07-05   12
2013-07-05   12
2013-07-05   12
2013-07-05   12
2013-07-08   16
2013-07-08   23
2013-07-08   16
2013-07-08   12
2013-07-09   16
2013-07-09   12

我使用 myTSquarterly = apply.quarterly(myTS,mean) 汇总了这个

> myTSquarterly 
               [,1]
2013-09-30 24.50829
2013-12-31 23.79624
2014-03-31 24.15170
2014-06-30 24.57641
2014-09-30 23.71467
2014-12-31 22.99500
2015-03-31 24.50423
2015-06-30 25.19950
2015-09-30 24.76330
2015-12-31 24.65810
2016-03-31 25.35616
2016-06-30 22.71066
2016-07-27 20.63636

我可以使用plot.xts(myTSquarterly) 轻松绘图:

我也可以使用apply.quarterly(myTS,sd)轻松计算标准差

我想将这些标准偏差信息作为误差线添加到绘图中,但我找不到这样做的方法?

【问题讨论】:

    标签: r xts timeserieschart


    【解决方案1】:

    如果您打算使用xts 进行绘图,您可能需要考虑使用 v0.10 的 xts 开发版本(我认为 CRAN 版本仍然较低),其中plot.xts 的绘图功能已得到改进。 .然后检查简单的例子?plot.xts

    你想要做的可以如下:

    # Want xts v0.10.0
    library(devtools)
    install_github("joshuaulrich/xts")
    
    
    library(quantmod)
    getSymbols("GOOG")
    myTS <- GOOG[, 4]
    myTSquarterly_mean <- apply.quarterly(myTS,mean)
    myTSquarterly_sd <- apply.quarterly(myTS, sd)
    c <- 2
    plot(myTSquarterly_mean)
    lines(myTSquarterly_mean - c * myTSquarterly_sd, col = "red")
    lines(myTSquarterly_mean + c * myTSquarterly_sd, col = "red", pch = 17)
    points(myTSquarterly_mean + c * myTSquarterly_sd, col = "red", pch = 17)
    

    (如果您想继续使用旧的xts 库在一个绘图上绘制多条曲线,请考虑将时间序列转换为动物园类型(as.zoo),然后绘图)

    【讨论】:

    • 使用 quantmod 的 chartSeries 并使用标准开发人员添加布林带可以轻松创建相同的图表。 2 个。
    • 是的,尽管 OP 询问是否在 xts 中绘图,而不是 quantmod 绘图功能。
    猜你喜欢
    • 1970-01-01
    • 2013-07-23
    • 1970-01-01
    • 2019-01-25
    • 2018-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-07
    相关资源
    最近更新 更多