《R的极客理想 高级开发篇》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:张丹著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2015
  • ISBN:9787111505129
  • 页数:332 页
图书介绍:本书的内容来自作者实际使用R语言的经验总结,以R语言的高级编程为主,辅以跨界知识的综合运用,涉及计算机、统计、数学、金融四个学科的知识。书中首先阐释如何用R语言实现数学统计计算和创建模型,应用包括协同过滤算法、基于矩阵的PageRank算法、遗传算法和金融交易策略模型。详细介绍了R语言的环境空间、文件系统管理、四种(S3、S4、RC和R6)面向对象的程序设计。还介绍完整的R包开发流程,并提供每日中国天气的应用案例和游戏开发的案例,帮助读者创建自己的R包,打开R语言产品化的思路。 书中介绍了多个场景案例,不仅从学术的角度完成了模型设计,而且用计算机的方法实现产品。通过案例的学习,可以让不同学科背景的R语言使用者,站在其他人的角度,找到新的思维方法。本书适合所有R语言工作者,包括软件工程师、数据科学家、科研工作者以及相关专业的学生。

第—部分 R的计算和算法应用 2

第1章 R语言知识体系和数学函数 2

1.1 R语言知识体系概览 2

1.1.1 R语言的知识体系结构 3

1.1.2 R语言学习 9

1.2 R语言中的数学计算 11

1.2.1 基本计算 12

1.2.2 三角函数计算 17

1.2.3 复数计算 22

1.2.4 方程计算 23

1.3 概率基础和R语言 28

1.3.1 随机变量介绍 28

1.3.2 随机变量的数字特征 29

1.3.3 极限定理 33

1.4 常用连续型分布介绍及R语言实现 35

1.4.1 均匀分布 35

1.4.2 正态分布 37

1.4.3 指数分布 39

1.4.4 伽玛分布 41

1.4.5 韦布尔分布 43

1.4.6 卡方分布 44

1.4.7 F分布 46

1.4.8 t分布 48

1.4.9 贝塔分布 50

1.5 R语言的导数计算 51

1.5.1 导数计算 52

1.5.2 初等函数的导数公式 54

1.5.3 二阶导数计算 57

1.5.4 偏导数计算 58

第2章 R语言的算法实现 61

2.1 用R重写Mahout协同过滤算法 61

2.1.1 Mahout的推荐算法模型 62

2.1.2 R语言模型实现 64

2.1.3 算法实现的原理——矩阵变换 67

2.1.4 算法总结 69

2.2 PageRank算法R语言实现 69

2.2.1 PageRank算法介绍 70

2.2.2 PageRank算法原理 70

2.2.3 R语言单机算法实现 72

2.2.4 R语言分步式算法实现 75

2.3 二条均线打天下 78

2.3.1 移动平均线 79

2.3.2 均线模型 79

2.3.3 用R语言实现均线模型 80

2.4 R语言中的遗传算法 94

2.4.1 遗传算法介绍 94

2.4.2 遗传算法原理 96

2.4.3 R语言中的遗传算法 97

第二部分 深入R语言程序开发 106

第3章 R内核编程 106

3.1 撬动R内核的高级工具包pryr 106

3.1.1 pryr介绍 107

3.1.2 pryr安装 107

3.1.3 pryr使用 108

3.2 揭开R语言中环境空间的神秘面纱 120

3.2.1 R语言的环境空间 121

3.2.2 环境空间的特征 124

3.2.3 环境空间的访问 126

3.3 解密R语言函数的环境空间 129

3.3.1 R语言的函数环境空间 129

3.3.2 封闭环境 130

3.3.3 绑定环境 130

3.3.4 运行环境 131

3.3.5 调用环境 132

3.3.6 完整的环境操作 133

3.4 用R进行文件系统管理 134

3.4.1 文件系统介绍 135

3.4.2 目录操作 135

3.4.3 文件操作 139

3.4.4 几个特殊的目录 142

3.5 R语言3.l.x版本新特性 143

3.5.1 R语言3.l.x版本介绍 144

3.5.2 R语言3.1.0新特性及代码描述 145

3.5.3 R语言3.1.1新特性及代码描述 157

第4章 面向对象编程 162

4.1 R语言面向对象编程 162

4.1.1 什么是面向对象 163

4.1.2 R为什么要进行面向对象编程 164

4.1.3 R的面向对象编程 164

4.2 R语言基于S3的面向对象编程 169

4.2.1 创建S3对象 170

4.2.2 泛型函数和方法调用 171

4.2.3 查看S3对象的函数 172

4.2.4 S3对象的继承调用方式 174

4.2.5 S3对象的缺点 174

4.2.6 S3对象的使用 175

4.3 R语言基于S4的面向对象编程 176

4.3.1 创建S4对象 176

4.3.2 访问S4对象的属性 179

4.3.3 S4的泛型函数 180

4.3.4 查看S4对象的函数 180

4.3.5 S4对象的使用 181

4.4 R语言基于RC的面向对象编程 188

4.4.1 RC对象系统介绍 189

4.4.2 创建RC类和对象 189

4.4.3 对象赋值 192

4.4.4 定义对象的方法 193

4.4.5 RC对象内置方法和内置属性 194

4.4.6 RC类的辅助函数 199

4.4.7 RC对象系统的使用 201

4.5 R语言基于R6的面向对象编程 206

4.5.1 初识R6 207

4.5.2 创建R6类和实例化对象 207

4.5.3 R6类的主动绑定 211

4.5.4 R6类的继承关系 212

4.5.5 R6类对象的静态属性 214

4.5.6 R6类的可移植类型 215

4.5.7 R6类的动态绑定 216

4.5.8 R6类的打印函数 217

4.5.9 实例化对象的存储 218

4.5.10 R6面向对象系统的案例 220

第三部分 开发自己的R包 224

第5章 R包开发 224

5.1 从头开发自己的R包 224

5.1.1 用Linux命令行开发R包 225

5.1.2 RStudio中开发R包 231

5.2 标准化R包开发流程 235

5.2.1 开发流程介绍 235

5.2.2 编写功能代码 236

5.2.3 调试程序 237

5.2.4 单元测试 238

5.2.5 撰写文档 239

5.2.6 程序打包 241

5.2.7 程序发布 242

5.3 R语言天气可视化应用 244

5.3.1 项目介绍 245

5.3.2 系统架构设计 246

5.3.3 R语言程序实现 247

5.4 R包开发——每日中国天气 260

5.4.1 构建项目 260

5.4.2 静态数据 261

5.4.3 编写功能代码 265

5.4.4 项目配置文件 271

5.4.5 调试程序 272

5.4.6 程序打包 273

第6章 R语言游戏之旅 277

6.1 R语言键盘和鼠标事件 277

6.1.1 R语言图形事件 278

6.1.2 图形事件API 278

6.1.3 键盘事件 279

6.1.4 鼠标事件 280

6.2 贪食蛇游戏入门 282

6.2.1 贪食蛇游戏介绍 282

6.2.2 场景设计 283

6.2.3 程序设计 284

6.2.4 R语言实现 287

6.3 R语言游戏框架设计 294

6.3.1 贪食蛇的面向对象改造 295

6.3.2 游戏框架定义 297

6.3.3 在框架中重新实现贪食蛇游戏 297

6.4 R语言制作游戏2048 303

6.4.1 2048游戏介绍 304

6.4.2 场景设计 304

6.4.3 程序设计 305

6.4.4 R语言实现 307

6.5 发布gridgame游戏包 316

6.5.1 知识储备 316

6.5.2 gridgame包开发 318

6.5.3 gridgame包发布 326