注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术工业技术建筑科学建筑设计R语言入门经典

R语言入门经典

R语言入门经典

定 价:¥99.00

作 者: (英)安迪·尼古拉斯,理查德·皮尤,艾梅·戈特
出版社: 人民邮电出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787115476296 出版时间: 2018-02-01 包装:
开本: 16开 页数: 450 字数:  

内容简介

  本书作为R语言的学习指南,详细讲解了R语言的基本概念和编程技巧。本书从* 基础的知识开始,由浅入深地介绍R的基本概念和重要特性,并用大量的示例和图形进行演示和说明,旨在让读者在掌握R语言的同时,能养成良好的编程习惯,写出专业、高效的代码。本书共24章,其内容涵盖了R语言的社区和环境介绍;R语言的各种数据结构(单模式/多模式数据结构,日期、时间和因子);包括各种常用函数、实用函数和应用函数在内的R语言函数;如何在R中进行文本的导入和导出,如何操控和转换数据,以及在R中高效处理数据的方法;如何可视化数据(涵盖了三个基本图形系统、ggplot2图形系统和Lattice图形系统);如何用R构建线性模型、广义线性模型和非线性模型,以及面向对象的思想;如何进行R代码提速(包括代码的性能分析和提速方法);如何构建R包和扩展R包;如何编写R类,其中会涉及R中的面向对象编程系统(S3、S4、引用类等);如何创建动态报告和如何用Shiny创建网络应用程序。本书附录还介绍了R、Rtools和RStudio的具体安装步骤。《R语言入门经典》涵盖了R语言的所有基础知识,介绍了许多实用的编程技巧,既可作为R语言的入门教材,也可作为一本为寻求拓宽分析工具的专业统计学家、数据科学家、分析师量身打造的学习宝典。本书还可作为对R语言感兴趣的读者和开发人员的参考书籍。

作者简介

  Andy Nicholls 在英国斯巴大学获得数学硕士学位,在南安普顿大学获得统计学应用科学硕士学位。Andy在2011年加入Mango Solution公司之前一直是一位制药行业的资 深统计学家。自从加入Mango Solution后,Andy举办了50多次R语言的现场培训课程,参与了30多个R包的开发。现在,他负责管理Mango Solution的R顾问团队,并一直定期为每季度的LondonR活动做贡献。到目前为止,该活动的R用户组参与人数居英国之首,有1000多个见面会成员。Andy与他美丽贤惠的妻子和可爱的儿子居住在英国的历史名城巴斯附近。Richard Pugh 在巴斯大学获得数学学位。Richard在制药行业作为统计学家从事统计相关工作多年,后来加入了Insightful公司(开发了S-PLUS)的售前顾问团队。Richard在Insightful公司的工作包括举办各种活动,给许多行业的蓝筹客户提供相关的培训和咨询服务。Richard在2002年作为联合创始人创建了Mango Solution,领导公司中R和其他分析软件的各种项目开发和技术研发。Richard现在是Mango公司的首 席数据科学家,定期在数据科学会议和R活动中发言。Richard与他的妻子和两个孩子居住在英国威尔特郡西部的Bradford on Avon镇,大部分“业余时间”都在修整自己的房子。Aimee Gott 是兰卡斯特大学的统计学博士,在本校获得了本科和硕士学位。作为培训领导,Aimee为Mango公司举办了200多天的培训。她在欧洲和美国举办了多次全面介绍R语言的现场培训,而且还包括许多短期研讨会和在线研讨会。Aimee负责监督Mango公司跨数据科学领域方面的培训课程开发,并定期参加R用户组和见面会。在业余时里,Aimee喜欢学习各种欧洲语言,并用摄影记录她的旅行。

图书目录

第1章 R语言社区 1

1.1 R语言简史 1

1.1.1 S语言的诞生 1

1.1.2 R语言的诞生 2

1.2 R语言社区 3

1.2.1 邮件列表 3

1.2.2 R语言手册 4

1.2.3 在线资源 4

1.2.4 R语言联盟 4

1.2.5 用户活动 5

1.3 R语言的开发 5

1.4 本章小结 6

1.5 本章答疑 6

1.6 课后研习 7

1.7 补充练习 7

* 2章 R语言环境 8

2.1 集成开发环境 8

2.1.1 R GUI 8

2.1.2 RStudio IDE 9

2.1.3 其他开发环境 10

2.2 R语法 10

2.2.1 控制台 10

2.2.2 脚本 11

2.3 R对象 12

2.3.1 R包 12

2.3.2 搜索路径 12

2.3.3 列出对象 13

2.3.4 R的工作空间 14

2.4 使用R包 16

2.4.1 查找合适的包 17

2.4.2 安装R包 17

2.4.3 载入R包 19

2.5 内部帮助 20

2.6 本章小结 21

2.7 本章答疑 21

2.8 课后研习 22

2.9 补充练习 23

第3章 单模式数据结构 24

3.1 R的数据类型 24

3.2 向量、矩阵和数组 25

3.3 向量 25

3.3.1 创建向量 26

3.3.2 向量属性 30

3.3.3 索引向量 32

3.4 矩阵 36

3.4.1 创建矩阵 37

3.4.2 矩阵属性 39

3.4.3 索引矩阵 41

3.5 数组 44

3.5.1 创建数组 44

3.5.2 数组属性 45

3.5.3 索引数组 45

3.6 单模式数据对象之间的关系 46

3.7 本章小结 47

3.8 本章答疑 47

3.9 课后研习 48

3.10 补充练习 49

第4章 多模式数据结构 50

4.1 多模式结构 50

4.2 列表 51

4.2.1 列表是什么 51

4.2.2 创建空列表 52

4.2.3 创建非空列表 52

4.2.4 创建有元素名的列表 53

4.2.5 创建列表:总结 53

4.2.6 列表属性 54

4.2.7 索引列表 55

4.2.8 索引列表的子集 55

4.2.9 引用列表的元素 58

4.2.10 添加列表元素 60

4.2.11 列表语法总结 61

4.2.12 为何要学习列表 63

4.3 数据框 66

4.3.1 创建数据框 66

4.3.2 查询数据框的属性 67

4.3.3 选取数据框的列 67

4.3.4 添加数据框的列 67

4.3.5 索引数据框的列 68

4.3.6 作为矩阵引用 69

4.3.7 索引数据框总结 71

4.4 探索数据 71

4.4.1 数据的顶部和底部 72

4.4.2 数据视图 72

4.4.3 汇总数据 74

4.4.4 可视化数据 74

4.5 本章小结 75

4.6 本章答疑 75

4.7 课后研习 77

4.8 补充练习 78

第5章 日期、时间和因子 80

5.1 处理日期和时间 80

5.1.1 创建日期对象 80

5.1.2 创建包含时间的对象 81

5.1.3 操控日期和时间 82

5.2 lubridate包 83

5.3 处理分类数据 84

5.3.1 创建因子 84

5.3.2 管理因子的水平 86

5.3.3 创建连续数据的因子 86

5.4 本章小结 87

5.5 本章答疑 88

5.6 课后研习 88

5.7 补充练习 89

第6章 常用R函数 90

6.1 R函数的用法 90

6.2 处理数值数据的函数 91

6.2.1 数学函数和运算符 91

6.2.2 统计汇总函数 92

6.2.3 模拟和统计分布 93

6.3 处理逻辑数据的函数 94

6.4 处理缺失数据的函数 95

6.5 处理字符数据的函数 96

6.5.1 处理简单的字符 96

6.5.2 查找和替换 97

6.6 本章小结 98

6.7 本章答疑 98

6.8 课后研习 98

6.9 补充练习 99

第7章 编写函数:* 一部分 100

7.1 为何要学习函数 100

7.2 创建简单的函数 101

7.2.1 命名函数 102

7.2.2 定义函数的参数 103

7.2.3 函数作用域规则 104

7.2.4 返回对象 104

7.3 If/Else结构 106

7.3.1 一个简单的R示例 107

7.3.2 嵌套语句 108

7.3.3 使用一个条件 108

7.3.4 多个测试值 109

7.3.5 汇总成一个逻辑值 109

7.3.6 简化逻辑输入 110

7.3.7 反转逻辑值 111

7.3.8 混合条件 112

7.3.9 控制与/或语句 112

7.3.10 提前返回 113

7.3.11 示例 114

7.4 本章小结 115

7.5 本章答疑 115

7.6 课后研习 116

7.7 补充练习 117

第8章 编写函数:* 二部分 119

8.1 错误和警告 119

8.1.1 错误消息 120

8.1.2 警告消息 121

8.2 检查输入 122

8.3 省略号 124

8.3.1 使用省略号 125

8.3.2 用省略号传递图形参数 125

8.4 检查多值输入 128

8.5 使用输入定义 130

8.6 本章小结 133

8.7 本章答疑 133

8.8 课后研习 134

8.9 补充练习 135

第9章 循环和汇总 136

9.1 重复的任务 136

9.1.1 循环 136

9.1.2 for 循环 137

9.1.3 while循环 142

9.2 “应用”函数家族 143

9.3 apply()函数 144

9.3.1 MARGIN 144

9.3.2 简单的apply()用例 145

9.3.3 使用多个MARGIN 146

9.3.4 更高维结构使用apply() 147

9.3.5 给“待应用”函数传递

其他参数 148

9.3.6 在自定义函数中使用apply() 150

9.3.7 给函数传递额外参数 151

9.3.8 应用于数据框 152

9.4 lapply()函数 153

9.4.1 split()函数 154

9.4.2 分割数据框 155

9.4.3 用lapply()函数处理向量 157

9.4.4 “应用”输入的次序 158

9.4.5 用lapply()函数处理数据框 160

9.5 sapply()函数 161

9.5.1 从sapply()返回 162

9.5.2 为何要使用sapply() 164

9.6 tapply()函数 165

9.6.1 多个分组变量 165

9.6.2 多值返回 166

9.6.3 从tapply()返回值 168

9.7 本章小结 169

9.8 本章答疑 169

9.9 课后研习 170

9.10 补充练习 171

* 10章 导入和导出 172

10.1 处理文本文件 172

10.1.1 读入文本文件 173

10.1.2 读入CSV文件 174

10.1.3 导出文本文件 175

10.1.4 更快导入和导出 175

10.1.5 高效数据存储 175

10.1.6 所有权和其他格式 176

10.2 关系数据库 177

10.2.1 RODBC 177

10.2.2 DBI 178

10.3 操作Microsoft Excel 179

10.4 本章小结 183

10.5 本章答疑 183

10.6 课后研习 184

10.7 补充练习 184

* 11章 数据操控和转换 186

11.1 排序 186

11.1.1 数据框排序 187

11.1.2 降序排列 187

11.2 附加 188

11.3 合并 188

11.3.1 合并示例 189

11.3.2 缺失值 190

11.4 重复值 191

11.5 重组 192

11.5.1 用reshape进行重组 192

11.5.2 融合 193

11.5.3 重铸 194

11.5.4 用tidyr进行重组 195

11.6 数据整合 197

11.6.1 使用“for”循环 197

11.6.2 使用“应用”函数 198

11.6.3 aggregate()函数 199

11.6.4 使用带公式的aggregate() 199

11.6.5 根据指 定列使用aggregate() 201

11.6.6 计算baseline的差值 203

11.7 本章小结 204

11.8 本章答疑 204

11.9 课后研习 205

11.10 补充练习 205

* 12章 高效数据处理 206

12.1 dplyr:处理数据的新方式 206

12.1.1 创建dplyr(tbl_df)对象 207

12.1.2 排序 208

12.1.3 访问子集 208

12.1.4 添加新列 210

12.1.5 合并 211

12.1.6 整合 212

12.1.7 管道操作符 215

12.2 用data.table高效处理数据 216

12.2.1 创建data.table 216

12.2.2 设置key 217

12.2.3 取子集 217

12.2.4 添加新行和新列 219

12.2.5 合并 221

12.2.6 整合 222

12.2.7 处理超大数据集的其他包 223

12.3 本章小结 224

12.4 本章答疑 224

12.5 课后研习 224

12.6 补充练习 225

* 13章 图形 226

13.1 图形设备和颜色 226

13.1.1 设备 226

13.1.2 颜色 227

13.2 高 级图形函数 227

13.2.1 单变量图形函数 228

13.2.2 plot()函数 230

13.2.3 图形属性 231

13.3 初级图形函数 235

13.3.1 点和线 235

13.3.2 文本 236

13.3.3 图例 237

13.3.4 其他初级函数 239

13.4 图形参数 239

13.5 控制布局 240

13.5.1 网格布局 240

13.5.2 layout()函数 241

13.6 本章小结 242

13.7 本章答疑 242

13.8 课后研习 243

13.9 补充练习 244

* 14章 ggplot2图形包 245

14.1 ggplot2的哲学 245

14.2 快速绘图和基本控制 246

14.2.1 使用qplot() 246

14.2.2 标题和轴 247

14.2.3 使用图层 247

14.2.4 把图形作为对象 248

14.3 更改绘制类型 249

14.3.1 绘制类型 249

14.3.2 组合绘制类型 251

14.4 图形属性 251

14.4.1 控制图形属性 252

14.4.2 标度和图例 254

14.4.3 处理分组数据 256

14.5 面板(分面) 257

14.5.1 facet_grid()的用法 258

14.5.2 facet_wrap()的用法 259

14.5.3 从qplot()中进行分面 260

14.6 定制绘图 260

14.6.1 ggplot() 260

14.6.2 坐标系 264

14.7 主题和布局 265

14.7.1 调整单个绘图 265

14.7.2 全局主题 266

14.7.3 图例布局 266

14.8 ggvis的演变 267

14.9 本章小结 267

14.10 本章答疑 268

14.11 课后研习 268

14.12 补充练习 269

* 15章 lattice图形 270

15.1 格子图形的历史 270

15.2 lattice包 271

15.3 创建简单的lattice图形 271

15.3.1 lattice图形类型 272

15.3.2 绘制数据的子集 277

15.4 图形选项 278

15.4.1 标题和轴 278

15.4.2 绘制类型和格式 279

15.5 多变量 280

15.6 数据的分组 281

15.7 使用面板 282

15.7.1 控制条头 283

15.7.2 多个“By”变量 284

15.7.3 面板函数 285

15.8 控制样式 290

15.8.1 预览样式 291

15.8.2 创建主题 292

15.8.3 使用主题 293

15.9 本章小结 294

15.10 本章答疑 294

15.11 课后研习 295

15.12 补充练习 295

* 16章 R模型和面向对象 296

16.1 R中的统计模型 296

16.2 简单的线性模型 296

16.3 在R中评估模型 298

16.3.1 模型汇总 298

16.3.2 模型诊断图 299

16.3.3 提取模型元素 300

16.3.4 作为列表对象的模型 302

16.3.5 在绘图中添加模型线 304

16.3.6 模型预测 305

16.4 多元线性回归 306

16.4.1 更新模型 306

16.4.2 比较嵌套模型 307

16.5 交互项 309

16.6 因子自变量 311

16.7 变量转换 314

16.8 R和面向对象 316

16.8.1 面向对象 316

16.8.2 线性模型方法 317

16.9 本章小结 318

16.10 本章答疑 318

16.11 课后研习 319

16.12 补充练习 319

* 17章 常见R模型 320

17.1 广义线性模型 320

17.1.1 GLM定义 321

17.1.2 拟合GLM模型 321

17.1.3 拟合高斯模型 322

17.1.4 glm对象 323

17.1.5 Logistic回归 325

17.1.6 泊松回归 327

17.1.7 GLM扩展 329

17.2 非线性模型 329

17.2.1 非线性回归 330

17.2.2 非线性模型扩展 335

17.3 生存分析 336

17.3.1 ovarian数据框 336

17.3.2 删失数据 336

17.3.3 估计生存函数 337

17.3.4 比例风险 341

17.3.5 生存模型扩展 344

17.4 时间序列分析 344

17.4.1 时间序列对象 344

17.4.2 分解时间序列 346

17.4.3 平滑 347

17.4.4 自相关 349

17.4.5 拟合ARIMA模型 349

17.5 本章小结 352

17.6 本章答疑 352

17.7 课后研习 352

17.8 补充练习 353

* 18章 代码提速 354

18.1 确定效率 354

18.1.1 性能分析 355

18.1.2 标准分析工具 355

18.2 初始化 356

18.3 向量化 357

18.3.1 什么是向量化 358

18.3.2 怎样编码可以向量化 358

18.4 使用替换函数 360

18.5 管理内存使用 360

18.6 集成C++ 361

18.6.1 C++和Rcpp的使用时机 361

18.6.2 基本函数 362

18.6.3 在C++中使用R函数 364

18.7 本章小结 364

18.8 本章答疑 365

18.9 课后研习 365

18.10 补充练习 366

* 19章 构建包 367

19.1 为什么要构建R包 367

19.2 R包的结构 368

19.2.1 创建包的结构 368

19.2.2 DESCRIPTION文件 369

19.2.3 NAMESPACE文件 370

19.2.4 R目录 370

19.2.5 man目录 371

19.3 代码质量 371

19.4 用roxygen2自动创建文档 372

19.4.1 函数的roxygen注释块 372

19.4.2 撰写包的文档 374

19.4.3 创建和更新帮助页面 374

19.5 用devtools构建包 375

19.5.1 检查 375

19.5.2 构建 377

19.5.3 安装 377

19.6 本章小结 378

19.7 本章答疑 378

19.8 课后研习 378

19.9 补充练习 379

* 20章 构建高 级包 380

20.1 扩展R包 380

20.2 开发测试框架 381

20.2.1 testthat介绍 381

20.2.2 将测试合并进包中 383

20.3 在包中包含数据 384

20.4 包含用户指南 386

20.4.1 在包中包含使用指南 386

20.4.2 撰写使用指南 387

20.5 用Rcpp编码 389

20.6 本章小结 390

20.7 本章答疑 390

20.8 课后研习 391

20.9 补充练习 391

* 21章 编写R类 393

21.1 什么是类 393

21.1.1 R中的面向对象 394

21.1.2 为何要用面向对象 394

21.1.3 为何要使用S3 396

21.2 创建新的S3类 396

21.3 泛型函数和方法 398

21.3.1 为算术操作符定义方法 399

21.3.2 列表和属性 400

21.3.3 创建新的泛型 401

21.4 在S3中继承 402

21.5 创建S3文档 403

21.6 S3的局限性 403

21.7 本章小结 404

21.8 本章答疑 404

21.9 课后研习 404

21.10 补充练习 405

* 22章 正式的类系统 406

22.1 S4 406

22.1.1 使用S4类 407

22.1.2 定义S4类 407

22.1.3 方法 410

22.1.4 定义新的泛型函数 411

22.1.5 多重分派 412

22.1.6 继承 413

22.1.7 创建S4的文档 414

22.2 引用类 415

22.2.1 创建新的引用类 415

22.2.2 定义方法 417

22.2.3 复制引用类的对象 419

22.2.4 创建引用类的文档 420

22.3 R6类 421

22.3.1 公有成员和私有成员 421

22.3.2 R6示例 421

22.4 其他类系统 422

22.5 本章小结 422

22.6 本章答疑 423

22.7 课后研习 423

22.8 补充练习 424

* 23章 动态报告 425

23.1 什么是动态报告 425

23.2 knitr包简介 426

23.3 用RMarkdown生成

简单的报告 426

23.3.1 RMarkdown文档基础 426

23.3.2 创建HTML文件 427

23.3.3 包含R的代码和输出 428

23.4 用LaTeX生成报告 430

23.4.1 LaTeX文档基础 430

23.4.2 在LaTeX文档中包含代码 431

23.5 本章小结 433

23.6 本章答疑 433

23.7 课后研习 433

23.8 补充练习 434

* 24章 用Shiny创建网络应用程序 435

24.1 简单的Shiny应用程序 435



24.1.1 Shiny应用程序的结构 435

24.1.2 ui组件 436

24.1.3 server组件 437

24.2 响应式函数 439

24.2.1 为何需要响应式函数 439

24.2.2 创建一个简单的响应式函数 440

24.3 交互式文档 441

24.4 共享Shiny应用程序 442

24.5 本章小结 442

24.6 本章答疑 443

24.7 课后研习 443

24.8 补充练习 444

附录A 安装 445

本目录推荐