图灵程序设计丛书:学习R.pdf

图灵程序设计丛书:学习R.pdf
 

书籍描述

内容简介
《学习R》分为上下两部分,旨在指导你如何使用R,并提供练习的机会。上半部分主要介绍R的技术细节和使用技巧。每章都简要介绍了一组不同的数据类型(例如第4章介绍向量、矩阵和数组)或概念(例如第8章介绍分支和循环)。下半部分更侧重实践,展示了从输入数据到发布结果这一标准的数据分析流程。
即使你没有任何编程基础,也能顺利阅读《学习R》。

编辑推荐
本书讲解如何使用R语言及其软件环境分析数据,即使没有编程经验也能看懂。通过这本实用教程,你可以轻松掌握如何使用必要的R工具来分析数据,同时掌握相关数据类型和通用的编程概念。

本书后半部分会讲到数据分析的各种实际应用,涵盖导入数据和发布结果。另外,值得一提的是,本书每一章都会结合所讲内容提供精心编制的小测试和练习题,需要编写R代码完成,从而巩固所学的知识。

编写简单的R程序,知道R语言能做什么
使用向量、数组、列表、数据框和字符串等数据类型
掌握条件语句以及分支和循环控制语句
应用R的扩展包,将你自己的工作成果打包发给其他人
清理从各种来源导入的数据
通过可视化和汇总统计理解数据
使用统计模型传递关于数据的定量判断并进行预测
了解编写数据分析代码时出现错误的应对措施

媒体推荐
“R图书大家庭迎来了一位清新、不落俗套、风趣幽默的新成员。阅读本书是十足的享受,令我大开眼界。”
——John Verzani,纽约州立大学/斯坦顿大学

“这本书读起来感觉棒极了,示例完整清晰,内容通俗易懂,是目前市面上介绍R核心组件最优秀的图书之一。”
——Rebecca Smith,TDX公司分析经理

“本书正是你梦寐以求的R图书!不要只看封面,直接翻开书看内容吧。”
——JD Long,CerebralMastication.com资深博主

作者简介
Richard Cotton 是一位通晓化学安全及健康的数据科学家,开发过很多能让非专业用户访问统计模型的工具。他开发了很多R包,如assertive(用于检查变量的状态)和sig(用于确保功能具有合理的API)。他也是The Damned Liars公司的统计学顾问。

目录
目 录

译者序 XII
前言 XIII

第一部分 R语言

第1章 简介 2
1.1 本章目标 2
1.2 R是什么 2
1.3 安装R 3
1.4 选择一个IDE 4
1.4.1 Emacs+ESS 4
1.4.2 Eclipse/Architect 4
1.4.3 RStudio 5
1.4.4 Revolution-R 5
1.4.5 Live-R 5
1.4.6 其他IDE和编辑器 6
1.5 你的第一个程序 6
1.6 如何从R中获得帮助 7
1.7 安装其他相关软件 9
1.8 小结 9
1.9 知识测试:问题 10
1.10 知识测试:练习 10

第2章 科学计算器 11
2.1 本章目标 11
2.2 数学运算符和向量 11
2.3 变量赋值 15
2.4 特殊数字 17
2.5 逻辑向量 18
2.6 小结 20
2.7 知识测试:问题 20
2.8 知识测试:练习 20

第3章 检查变量和工作区 22
3.1 本章目标 22
3.2 类 22
3.3 不同类型的数字 23
3.4 其他通用类 24
3.5 检查和更改类 26
3.6 检查变量 29
3.7 工作区 32
3.8 小结 33
3.9 知识测试:问题 33
3.10 知识测试:练习 34

第4章  向量、矩阵和数组 35
4.1 本章目标 35
4.2 向量 35
4.2.1 序列 37
4.2.2 长度 38
4.2.3 命名 39
4.2.4 索引向量 39
4.2.5 向量循环和重复 41
4.3 矩阵和数组 43
4.3.1 创建数组和矩阵 43
4.3.2 行、列和维度 45
4.3.3 行名、列名和维度名 46
4.3.4 索引数组 47
4.3.5 合并矩阵 47
4.3.6 数组算术 48
4.4 小结 50
4.5 知识测试:问题 50
4.6 知识测试:练习 51

第5章 列表和数据框 52
5.1 本章目标 52
5.2 列表 52
5.2.1 创建列表 52
5.2.2 原子变量和递归变量 54
5.2.3 列表的维度和算术运算 55
5.2.4 索引列表 56
5.2.5 向量和列表之间的转换 58
5.2.6 组合列表 60
5.3 NULL 61
5.4 成对列表 64
5.5 数据框 65
5.5.1 创建数据框 65
5.5.2 索引数据框 68
5.5.3 基本数据框操作 69
5.6 小结 71
5.7 知识测试:问题 71
5.8 知识测试:练习 72

第6章 环境和函数 73
6.1 本章目标 73
6.2 环境 73
6.3 函数 76
6.3.1 创建和调用函数 76
6.3.2 向其他函数传递和接收函数 80
6.3.3 变量的作用域 82
6.4 小结 84
6.5 知识测试:问题 84
6.6 知识测试:练习 84

第7章 字符串和因子 86
7.1 本章目标 86
7.2 字符串 86
7.2.1 创建和打印字符串 87
7.2.2 格式化数字 88
7.2.3 特殊字符 90
7.2.4 更改大小写 91
7.2.5 截取字符串 91
7.2.6 分割字符串 92
7.2.7 文件路径 93
7.3 因子 94
7.3.1 创建因子 94
7.3.2 更改因子水平 96
7.3.3 去掉因子水平 96
7.3.4 有序因子 97
7.3.5 将连续变量转换为类别 98
7.3.6 将类别变量转换为连续变量 99
7.3.7 生成因子水平 100
7.3.8 合并因子 100
7.4 小结 101
7.5 知识测试:问题 101
7.6 知识测试:练习 101

第8章 流程控制和循环 103
8.1 本章目标 103
8.2 流程控制 103
8.2.1 if和else 103
8.2.2 矢量化的if 105
8.2.3 多个分支 106
8.3 循环 108
8.3.1 重复循环 108
8.3.2 while循环 110
8.3.3 for循环 111
8.4 小结 113
8.5 知识测试:问题 113
8.6 知识测试:练习 113

第9章 高级循环 115
9.1 本章目标 115
9.2 replication 115
9.3 遍历列表 116
9.4 遍历数组 122
9.5 多个输入的应用函数 124
9.6 拆分-应用-合并(Split-Apply-Combine) 126
9.7 plyr包 127
9.8 小结 130
9.9 知识测验:问题 130
9.10 知识测试:练习 131

第10章 包 133
10.1 本章目标 133
10.2 加载包 133
10.2.1 搜索路径 135
10.2.2 库和已安装的包 136
10.3 安装包 137
10.4 维护包 139
10.5 小结 139
10.6 知识测试:问题 140
10.7 知识测试:练习 140

第11章 日期和时间 141
11.1 本章目标 141
11.2 日期和时间类 141
11.2.1 POSIX日期和时间 142
11.2.2 Date类 143
11.2.3 其他日期类 144
11.3 日期与字符串的相互转换 144
11.3.1 解析日期 144
11.3.2 格式化日期 145
11.4 时区 145
11.5 日期和时间的算术运算 147
11.6 lubridate 149
11.7 小结 153
11.8 知识测试:问题 153
11.9 知识测试:练习 153

第二部分 数据分析工作流

第12章 获取数据 156
12.1 本章目标 156
12.2 内置的数据集 156
12.3 读取文本文件 157
12.3.1 CSV和制表符分隔(Tab-Delimited)文件 157
12.3.2 非结构化文本文件 161
12.3.3 XML和HTML文件 161
12.3.4 JSON和YAML文件 163
12.4 读取二进制文件 165
12.4.1 读取Excel文件 165
12.4.2 读取SAS、Stata、SPSS和MATLAB文件 167
12.4.3 读取其他文件类型 167
12.5 Web数据 168
12.5.1 拥有API的网站 168
12.5.2 抓取网页 169
12.6 访问数据库 171
12.7 小结 174
12.8 知识测试:问题 174
12.9 知识测试:练习 174

第13章 数据清理和转换 175
13.1 本章目标 175
13.2 清理字符串 175
13.3 操作数据框 180
13.3.1 添加和替换列 180
13.3.2 处理缺失值 181
13.3.3 在宽和长表格之间进行转换 182
13.3.4 使用SQL 183
13.4 排序 184
13.5 函数式编程 185
13.6 小结 188
13.7 知识测试:问题 188
13.8 知识测试:练习 189

第14章 探索和可视化 190
14.1 本章目标 190
14.2 汇总统计 190
14.3 三种绘图系统 194
14.4 散点图 195
14.4.1 第一种方法:base绘图法 195
14.4.2 第二种方法:lattice图形系统 200
14.4.3 第三种方法:ggplot2图形系统 207
14.5 线图 212
14.6 直方图 220
14.7 箱线图 232
14.8 条形图 236
14.9 其他的绘图包和系统 242
14.10 小结 243
14.11 知识测试:问题 243
14.12 知识测试:练习 244

第15章 分布与建模 245
15.1 本章目标 245
15.2 随机数 246
15.2.1 示例函数 246
15.2.2 从分布中抽样 247
15.3 分布 248
15.4 公式 248
15.5 第一个模型:线性回归 250
15.5.1 比较和更新模型 252
15.5.2 绘图和模型检查 257
15.6 其他模型类型 261
15.7 小结 262
15.8 知识测试:问题 263
15.9 知识测试:练习 263

第16章 程序设计 264
16.1 本章目标 264
16.2 信息、警告和错误 264
16.3 错误处理 267
16.4 调试 270
16.5 测试 273
16.5.1 RUnit 273
16.5.2 testthat 276
16.6 魔法 277
16.6.1 将字符串转换成代码 277
16.6.2 把代码转换成字符串 279
16.7 面向对象编程 280
16.7.1 S3类 281
16.7.2 引用类 282
16.8 小结 287
16.9 知识测试:问题 287
16.10 知识测试:练习 288

第17章 制作程序包 289
17.1 本章目标 289
17.2 为什么要创建软件包 289
17.3 先决条件 289
17.4 包目录结构 290
17.5 你的第一个包 291
17.6 为包撰写文档 293
17.7 检查和构建包 296
17.8 包的维护 297
17.9 小结 298
17.10 知识测试:问题 299
17.11 知识测试:练习 299

第三部分 附录

附录A 变量的属性 302
附录B R中其他可做的事情 305
附录C 问题答案 307
附录D 练习答案 315

参考文献 339
关于封面 341

购买书籍

当当网购书 京东购书 卓越购书

PDF电子书下载地址

相关书籍

搜索更多