xts()
1. 所属包:xts
> install.packages("xts")
> library(xts)
载入需要的程辑包:zoo
载入程辑包:‘zoo’
下列对象被屏蔽了from ‘package:base’:
as.Date, as.Date.numeric
Warning message:
程辑包‘xts’是用R版本3.0.2 来建造的
2. 格式:xts(时间序列数据,时间标签)
时间标签可以是:POSIXct/POSIXlt,Date类型
举例:
x<-xts(rnorm(3),as.Date(c("2013-11-28","2013-11-29","2013-12-01")))
> x
[,1]
2013-11-28 1.1922452
2013-11-29 -0.1615097
2013-12-01 -0.3044760
>x2<-xts(rnorm(100),seq(as.POSIXct("2013-11-28"),len=100,by="min"))
> x2[1:5]
[,1]
2013-11-28 00:00:00 -1.13243645
2013-11-28 00:01:00 0.04929416
2013-11-28 00:02:00 -0.10205631
2013-11-28 00:03:00 0.69648892
2013-11-28 00:04:00 -0.41507201
3. 索引
如果上面的x,x2去掉时间标签,那这些时间序列对象可以像“正常”对象一样进行索引(标准的向量子集)。
我们经常需要基于与时间有关的条件来获取这些序列的子集,如下:
> x2[as.POSIXct("2013-11-28 00:01:00")]
[,1]
2013-11-28 00:01:00 0.04929416
> x[as.Date('2013-11-29')]
[,1]
2013-11-29 -0.1615097
或者直接:
> x2["2013-11-28 00:01:00"]
[,1]
2013-11-28 00:01:00 0.04929416
> x['2013-11-29']
[,1]
2013-11-29 -0.1615097
索引某时间标签开始的时间段: “开始时间/”
> x['2013-11-28/']索引某时间标签结束的时间段: “/结束时间”
> x['/2013-11-29']
[,1]
2013-11-28 1.1922452
2013-11-29 -0.1615097
索引某两时间标签中间的时间段: “开始时间/结束时间”
> x['2013-11-28/2013-11-29']
[,1]
2013-11-28 1.1922452
2013-11-29 -0.1615097
> x2["2013-11-28 00:01:00/2013-11-28 00:06:00"]
[,1]
2013-11-28 00:01:00 0.04929416
2013-11-28 00:02:00 -0.10205631
2013-11-28 00:03:00 0.69648892
2013-11-28 00:04:00 -0.41507201
2013-11-28 00:05:00 -1.12666558
2013-11-28 00:06:00 -0.15757190