您的位置:首页 > 其它

R-xts()时间序列

2013-12-02 22:45 211 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息