时间序列 || plot.xts时间序列可视化

Posted 生存分析

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了时间序列 || plot.xts时间序列可视化相关的知识,希望对你有一定的参考价值。

前言

r-bloggers的一篇博文,让我有动力继续发现xts的强大。xts扩展了zoo的基础数据结构,并提供了更丰富的功能函数。xtsExtra补充库,从可视化的角度出发,提供了一个简单而效果非凡的作图函数plot.xts。

本文将用plot.xts来演示,xts对象的时间序列可视化!

目录

  1. xtsExtra介绍

  2. xtsExtra安装

  3. plot.xts的使用

1. xtsExtra介绍

xtsExtra是xts包的功能补充包,该软件包在Google Summer of Code 2012被开发,最终将合并到xts包。xtsExtra提供的主要功能就是plot.xts。

注:我发现xts::plot.xts的函数,与xtsExtra::plot.xts还是有差别的。

关于xts包的介绍,请参考文章:可扩展的时间序列xts

下面我们安装xtsExtra包。

2. xtsExtra安装

由于xtsExtra没有发布到CRAN,我们要从R-Forge下载。

~ R

> install.packages("xtsExtra", repos="http://R-Forge.R-project.org")
Warning in install.packages :
  package ‘xtsExtra’ is not available (for R version 3.0.1)
trying URL 'http://R-Forge.R-project.org/bin/windows/contrib/3.0/xtsExtra_0.0-1.zip'
Content type 'application/zip' length 242682 bytes (236 Kb)
opened URL
downloaded 236 Kb

package ‘xtsExtra’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
	C:\Users\Administrator\AppData\Local\Temp\Rtmp04stLd\downloaded_packages

加载xtsExtra

> library(xtsExtra)
载入需要的程辑包:zoo

载入程辑包:‘zoo’

下列对象被屏蔽了from ‘package:base’:

    as.Date, as.Date.numeric

载入需要的程辑包:xts

载入程辑包:‘xtsExtra’

下列对象被屏蔽了from ‘package:xts’:

    plot.xts

Warning messages:
1: 程辑包‘zoo’是用R版本3.0.2 来建造的 
2: 程辑包‘xts’是用R版本3.0.2 来建造的 

plot.xts函数被用来,覆盖xts::plot.xts函数。

3. plot.xts的使用

  • 1). plot.xts的参数列表

  • 2). 简单的时间序列

  • 3). K线图

  • 4). panel配置

  • 5). screens配置

  • 6). events配置

  • 7). 双时间序列

  • 9). barplot

1). plot.xts的参数列表

> names(formals(plot.xts))
 [1] "x"              "y"              "screens"        "layout.screens" "..."           
 [6] "yax.loc"        "auto.grid"      "major.ticks"    "minor.ticks"    "major.format"  
[11] "bar.col.up"     "bar.col.dn"     "candle.col"     "xy.labels"      "xy.lines"      
[16] "ylim"           "panel"          "auto.legend"    "legend.names"   "legend.loc"    
[21] "legend.pars"    "events"         "blocks"         "nc"             "nr"       

2). 简单的时间序列

> data(sample_matrix)
> sample_xts <- as.xts(sample_matrix)
> plot(sample_xts[,1]) 
> class(sample_xts[,1])
[1] "xts" "zoo"

3). K线图

红白色

> plot(sample_xts[1:30, ], type = "candles")

时间序列 || plot.xts时间序列可视化

自定义颜色

> plot(sample_xts[1:30, ], type = "candles", bar.col.up = "blue", bar.col.dn = "violet", candle.col = "green4")

时间序列 || plot.xts时间序列可视化

4). panel配置
基本面板

> plot(sample_xts[,1:2]) 

时间序列 || plot.xts时间序列可视化

多行面板

> plot(sample_xts[,rep(1:4, each = 3)]) 

时间序列 || plot.xts时间序列可视化

自由组合面板

> plot(sample_xts[,1:4], layout.screens = matrix(c(1,1,1,1,2,3,4,4),ncol = 2, byrow = TRUE))

时间序列 || plot.xts时间序列可视化

5). screens配置

双屏幕显示,每屏幕2条线

> plot(sample_xts, screens = 1:2) 

时间序列 || plot.xts时间序列可视化

双屏幕显示,指定曲线出现的屏幕和颜色

> plot(sample_xts, screens = c(1,2,1,2), col = c(1,3,2,2))

双屏幕显示,指定不同的坐标系

时间序列 || plot.xts时间序列可视化

> plot(10^sample_xts, screens = 1:2, log= c("","y"))

时间序列 || plot.xts时间序列可视化

双屏幕显示,指定不同的输出图形

> plot(sample_xts[1:75,1:2] - 50.5, type = c("l","h"), lwd = c(1,2))

时间序列 || plot.xts时间序列可视化

多屏幕,分组显示

> plot(sample_xts[,c(1:4, 3:4)], layout = matrix(c(1,1,1,1,2,2,3,4,5,6), ncol = 2, byrow = TRUE), yax.loc = "left")

时间序列 || plot.xts时间序列可视化

6). events配置

基本事件分割线

> plot(sample_xts[,1], events = list(time = c("2007-03-15","2007-05-01"), label = "bad days"), blocks = list(start.time = c("2007-03-05", "2007-04-15"), end.time = c("2007-03-20","2007-05-30"), col = c("lightblue1", "lightgreen")))

时间序列 || plot.xts时间序列可视化

7). 双时间序列

双坐标视图

> plot(sample_xts[,1],sample_xts[,2])

时间序列 || plot.xts时间序列可视化

双坐标梯度视图

> cr <- colorRampPalette(c("#00FF00","#FF0000"))
> plot(sample_xts[,1],sample_xts[,2], xy.labels = FALSE, xy.lines = TRUE, col = cr(NROW(sample_xts)), type = "l")

时间序列 || plot.xts时间序列可视化

8). xts类型转换作图
ts类型作图

> tser <- ts(cumsum(rnorm(50, 0.05, 0.15)), start = 2007, frequency = 12)
> class(tser)
[1] "ts"
> plot(tser)

时间序列 || plot.xts时间序列可视化

以xts类型作图

> plot.xts(tser)

时间序列 || plot.xts时间序列可视化

9). barplot

> x <- xts(matrix(abs(rnorm(72)), ncol = 6), Sys.Date() + 1:12)
> colnames(x) <- LETTERS[1:6]> barplot(x)

我们看到xtsExtra::plot.xts提供了强大的作图功能,很容易做出可视的时间序列!



04:如何在R软件中求一致性指数( Harrell'concordance index:C-index)?

05:Nomogram 绘制原理及R&SAS实现.

06  : Lasso方法简要介绍及其在回归分析中的应用

07  : 最优模型选择中的交叉验证(Cross validation)方法

08  : 用R语言进行分位数回归(Quantile Regression)

09  : 样本数据中异常值(Outliers)检测方法及SPSS & R实现

10  : 原始数据中几类缺失值(Missing Data)的SPSS及R处理方法

11  :  [Survival analysis] Kaplan-Meier法之SPSS实现

12  :  [Survival analysis] COX比例风险回归模型在SPSS中的实现

13  :  用R绘制地图:以疾病流行趋势为例

14  :  数据挖掘方法:聚类分析简要介绍 及SPSS&R实现

15  :  医学研究中的Logistic回归分析及R实现

16  :  常用的非参数检验(Nonparametric Tests)总结

17  :  高中生都能看懂的最小二乘法原理

18  :  R语言中可实现的常用统计假设检验总结(侧重时间序列)

19  :  如何根据样本例数、均数、标准差进行T-Test和ANOVA

20  :  统计学中自由度的理解和应用

21  :  ROC和AUC介绍以及如何计算AUC

22  :  支持向量机SVM介绍及R实现

23  :  SPSS如何做主成分分析?

24  : Bootstrap再抽样方法简介

25  :  定量测量结果的一致性评价及 Bland-Altman 法的应用 

26  :  使用R绘制热图及网络图  

27  :  几种常用的双坐标轴图形绘制 

28  :  遗失的艺术—诺谟图(Nomogram) 

29  :  Nomogram 绘制原理及R&SAS实现(二) 

30  :  WOE:信用评分卡模型中的变量离散化方法 

31  :  结构方程模型(SEM)简介及教程下载 

32  :  重复测量的多因素方差分析SPSS实现操作过程 

回复文章前代码数字如“04”即可查看或直接查看历史文章。

邮箱:8243033 @ qq.com 欢迎关注!

以上是关于时间序列 || plot.xts时间序列可视化的主要内容,如果未能解决你的问题,请参考以下文章

手把手教你使用Dygraphs可视化时间序列数据(附代码链接)

气象可视化应用空间降尺度实战应用(附MATLABPython和R语言多种代码实现)

可视化代码的架构 [关闭]

JavaScript 可视化应用——代码组织、主干 mvc、桌面版等

可视化 StyleCop 和代码分析规则违规

数据可视化,还在使用Matplotlib?Plotly,是时候表演真正的技术了(附代码)