R的极客理想系列文章,涵盖了R的思想,使用,工具,创新等的一系列要点,以我个人的学习和体验去诠释R的强大。
R语言作为统计学一门语言,一直在小众领域闪耀着光芒。直到大数据的爆发,R语言变成了一门炙手可热的数据分析的利器。随着越来越多的工程背景的人的加入,R语言的社区在迅速扩大成长。现在已不仅仅是统计领域,教育,银行,电商,互联网….都在使用R语言。
要成为有理想的极客,我们不能停留在语法上,要掌握牢固的数学,概率,统计知识,同时还要有创新精神,把R语言发挥到各个领域。让我们一起动起来吧,开始R的极客理想。
关于作者:
- 张丹(Conan), 程序员Java,R,PHP,Javascript
- weibo:@Conan_Z
- blog: http://blog.fens.me
- email: bsspirit@gmail.com
转载请注明出处:
http://blog.fens.me/r-zoo/
前言
时间序列分析是一种动态数据处理的统计方法,通过对时间序列数据的分析,我们可以感觉到世界正改变着什么!R语言作为统计分析的利器,对时间序列处理有着强大的支持。在R语言中,单独为时间序列数据定义了一种数据类型zoo,zoo是时间序列的基础,也是股票分析的基础。
本文将介绍zoo库在R语言中的结构和使用。
目录
- zoo介绍
- zoo安装
- zoo的API介绍
- zoo使用
1. zoo介绍
zoo是一个R语言类库,zoo类库中定义了一个名为zoo的S3类型对象,用于描述规则的和不规则的有序的时间序列数据。zoo对象是一个独立的对象,包括索引、日期、时间,只依赖于基础的R环境,zooreg对象继承了zoo对象,只能用于规则的的时间序列数据。
R语言的其他程序包,都是以zoo, zooreg为时间序列数据的基础!
zoo的项目主页:http://zoo.r-forge.r-project.org/
2. zoo安装
系统环境
- Win7 64bit
- R: 3.0.1 x86_64-w64-mingw32/x64 b4bit
zoo安装
~ R
> install.packages("zoo")
> library(zoo)
3. zoo的API介绍
基础对象
- zoo: 有序的时间序列对象
- zooreg: 规则的的时间序列对象,继承zoo对象
类型转换
- as.zoo: 把一个对象转型为zoo类型
- plot.zoo: 为plot函数,提供zoo的接口
- xyplot.zoo: 为lattice的xyplot函数,提供zoo的接口
- ggplot2.zoo: 为ggplot2包,提供zoo的接口
数据操作
- coredata: 获得和修改zoo的数据部分
- index: 获得和修改zoo的索引部分
- window.zoo: 按时间过滤数据
- merge.zoo: 合并多个zoo对象
- read.zoo: 从文件读写zoo序列
- aggregate.zoo: 计算zoo数据
- rollapply: 对zoo数据的滚动处理
- rollmean: 对zoo数据的滚动,计算均值
NA值处理
- na.fill: NA值的填充
- na.locf: 替换NA值
- na.aggregate: 计算统计值替换NA值
- na.approx: 计算插值替换NA值
- na.StructTS: 计算seasonal Kalman filter替换NA值
- na.trim: 过滤有NA的记录
辅助工具
- is.regular: 检查是否是规则的序列
- lag.zoo: 计算步长和分差
- MATCH: 取交集
- ORDER: 值排序,输出索引
显示控制
- yearqtr: 以年季度显示时间
- yearmon: 以年月显示时间
- xblocks: 作图沿x轴分隔图型
- make.par.list: 用于给plot.zoo 和 xyplot.zoo 数据格式转换
4. zoo使用
- 1). zoo函数
- 2). zooreg函数
- 3). zoo的类型转换
- 4). ggplot2画时间序列
- 5). 数据操作
- 6). 数据滚动处理
- 7). NA值处理
- 8). 数据显示格式
- 9). 按时间分隔做衅
- 10). 从文件读入zoo序列
1). zoo函数
zoo对象包括两部分组成,数据部分、索引部分。
函数