R-xts()时间序列

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/']
                 [,1]
2013-11-28  1.1922452
2013-11-29 -0.1615097
2013-12-01 -0.3044760
> x['2013-11-29/']
                 [,1]
2013-11-29 -0.1615097
2013-12-01 -0.3044760

索引某时间标签结束的时间段: “/结束时间”

> 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



你可能感兴趣的:(R)