第一部分 R基础 2
第1章 R语言基础包 2
1.1R是最值得学习的编程语言 2
1.1.1我的编程背景 3
1.1.2为什么我会选择R 3
1.1.3 R的应用前景 7
1.1.4时代赋予R的任务 8
1.2 R的历史版本安装 8
1.2.1 R在Windows中安装 9
1.2.2 R在Linux Ubuntu中安装 10
1.2.3 R的最新版本安装 10
1.2.4 R的指定版本安装 10
1.3 fortunes记录R语言的大智慧 11
1.3.1 fortunes介绍 12
1.3.2 fortunes安装 12
1.3.3 fortunes包的使用 12
1.4 formatR代码自动化排版 13
1.4.1 formatR介绍 13
1.4.2 formatR安装 14
1.4.3 formatR的使用 14
1.4.4 formatR的源代码解析 20
1.4.5源代码中的Bug 21
1.5多人在线协作R开发RStudio Server 22
1.5.1 RStudio和RStudio Server 22
1.5.2 RStudio Server安装 22
1.5.3 RStudio Server使用 23
1.5.4 RStudio Server多人协作 26
1.6 R和JSON的傻瓜式编程 29
1.6.1rjson包介绍 29
1.6.2 RJSONIO包介绍 33
1.6.3自定义JSON的实现 36
1.6.4 JSON性能比较 38
1.7 R语言的高质量图形渲染库Cairo 40
1.7.1 Cairo介绍 40
1.7.2 Cairo包安装 40
1.7.3 Cairo使用 41
1.8 caTools:一个奇特的工具集 46
1.8.1 caTools介绍 47
1.8.2 caTools安装 48
1.8.3 caTools使用 48
第2章 时间序列基础包 58
2.1 R语言时间序列基础库zoo 58
2.1.1 zoo包介绍 59
2.1.2 zoo安装 60
2.1.3 zoo包的使用 60
2.2可扩展的时间序列xts 75
2.2.1 xts介绍 75
2.2.2 xts包的安装 78
2.2.3 xts包的使用 78
2.3时间序列可视化plot.xts 93
2.3.1 xtsExtra介绍 93
2.3.2 xtsExtra安装 93
2.3.3 xtsExtra包的使用 94
第3章 R性能监控包 104
3.1 R语言本地缓存工具memoise 104
3.1.1 memoise介绍 105
3.1.2 memoise安装 105
3.1.3 memoise使用 105
3.1.4 memoise()函数源代码分析 106
3.2 R语言性能监控工具Rprof 108
3.2.1 Rprof()函数介绍 109
3.2.2 Rprof()函数的定义 109
3.2.3 Rprof()函数使用:股票数据分析案例 109
3.2.4 Rprof()函数使用:数据下载案例 112
3.2.5用profr包可视化性能指标 113
3.2.6 Rprof的命令行使用 115
3.3 R语言性能可视化工具lineprof 116
3.3.1 lineprof介绍 117
3.3.2 lineprof安装 117
3.3.3 lineprof使用 118
第二部分 R服务器 122
第4章 R语言的跨平台通信 122
4.1 Rserve与Java的跨平台通信 122
4.1.1 Rserve安装 123
4.1.2用Java远程连接Rserve 124
4.2 Rsession让Java调用R更简单 126
4.2.1 Rsession下载 126
4.2.2用Eclipse构建Rsession项目 127
4.2.3 Rsession的API介绍 128
4.2.4 Rsession使用 129
4.3解惑rJava R与Java的高速通道 132
4.3.1 rJava介绍 133
4.3.2 rJava安装 133
4.3.3 rJava实现R调用Java 134
4.3.4 rJava(JRI)实现Java调用R(Windows7) 135
4.3.5 rJava(JRI)实现Java调用R(Ubuntu) 137
4.4 Node js与R跨平台通信 137
4.4.1 Node js简单介绍 138
4.4.2 R语言配置环境 138
4.4.3 Node.js配置环境 139
4.4.4 Node.js与R跨平台通信 139
第5章 R的服务器实现 143
5.1 R语言服务器程序Rserve详解 143
5.1.1 Rserve的启动 144
5.1.2 Rserve高级使用:Rserve配置管理 146
5.1.3 Rserve高级使用:用户登录认证 148
5.2 Rserve的R语言客户端RSclient 149
5.2.1配置Rserve服务器 150
5.2.2 RSclient安装 150
5.2.3 RSclient的API 151
5.2.4 RSclient的使用 152
5.2.5两个客户端同时访问 152
5.3 FastRWeb:跑在Web上的R程序 153
5.3.1 FastRWeb介绍 154
5.3.2 FastRWeb安装 155
5.3.3 FastRWeb使用 156
5.4 R语言构建Websocket服务器 159
5.4.1 websockets介绍 159
5.4.2 websockets安装 160
5.4.3快速启动websockets服务器demo 162
5.4.4 R语言创建Websocket服务器实例 163
5.4.5 R语言创建Websocket客户端连接 163
5.4.6用浏览器HTML5原生API客户端连接 164
第三部分 数据库和大数据 168
第6章 数据库和NoSQL 168
6.1 RMySQL数据库编程指南 168
6.1.1 RMySQL在Linux下安装 169
6.1.2 RMySQL在Windows7下安装 173
6.1.3 RMySQL函数使用 176
6.1.4 RMySQL案例实践 181
6.2 R利剑NoSQL之MongoDB 183
6.2.1 MongoDB环境准备 183
6.2.2 rmongodb 函数库 185
6.2.3 rmongodb基本使用操作 187
6.2.4 rmongodb性能测试的案例 189
6.3 R利剑NoSQL之Redis 192
6.3.1 Redis环境准备 192
6.3.2 rredis函数库 193
6.3.3 rredis基本使用操作 194
6.3.4 rredis测试案例 198
6.4 R利剑NoSQL之Cassandra 200
6.4.1 Cassandra环境准备 200
6.4.2 RCassandra函数库 201
6.4.3 RCassandra基本使用操作 202
6.4.4 RCassandra使用案例 204
6.4.5 Cassandra的没落 205
6.5 R利剑NoSQL之Hive 206
6.5.1 Hive环境准备 207
6.5.2 RHive安装 208
6.5.3 RHive函数库 209
6.5.4 RHive基本使用操作 209
6.6用RHive从历史数据中提取逆回购信息 212
6.6.1逆回购简介 212
6.6.2历史数据存储结构 213
6.6.3通过用RHive提取数据 213
6.6.4策略模型及实现 216
第7章 RHadoop 222
7.1 R语言为Hadoop注入统计血脉 222
7.1.1 Hadoop介绍 223
7.1.2为什么要让Hadoop结合R语言 224
7.1.3如何让Hadoop结合R语言 225
7.1.4展望未来 226
7.2 RHadoop安装与使用 226
7.2.1环境准备 227
7.2.2 RHadoop安装 227
7.2.3 RHadoop程序开发 229
7.3 RHadoop实验:统计邮箱出现次数 233
7.3.1需求描述 233
7.3.2算法实现 234
7.4 RHadoop实现基于MapReduce的协同过滤算法 236
7.4.1基于物品推荐的协同过滤算法介绍 236
7.4.2 R语言本地程序实现 237
7.4.3 R基于Hadoop分步式程序实现 242
7.5 rhbase安装与使用 249
7.5.1 HBase环境准备 250
7.5.2 rhbase安装 250
7.5.3 rhbase函数库 251
7.6解决RHadoop安装错误:PipeMapRed.waitOutputThreads() 253
7.6.1 rmr2运行错误日志 254
7.6.2定位错误到Hadoop日志 255
7.6.3从Hadoop入手找解决办法—失败 256
7.6.4从RHadoop入手找解决办法—成功 257
第四部分 附录 262
附录A Java环境安装 262
附录B MySQL数据库安装 266
附录C Redis数据库安装 270
附录D MongoDB数据库安装 273
附录E Cassandra数据库安装 277
附录F Hadoop安装 280
附录G Hive环境安装 287
附录H HBase安装 290