×
超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

关闭
图文详情
  • ISBN:9787115476296
  • 装帧:简裝本
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:448
  • 出版时间:2018-02-01
  • 条形码:9787115476296 ; 978-7-115-47629-6

本书特色

本书作为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语言感兴趣的读者和开发人员的参考书籍。

内容简介

实用性强、容易上手的大量示例,教你如何把所学的知识应用于实践。
问答和练习帮助你测试知识的掌握程度,并扩展你的编程技能。
通过阅读本书,读者可以掌握有助于解决大部分真实的数据分析问题的R基础知识和实用编程技巧。你将掌握整个数据分析流程,学会创建高效、可复用且适合与他人共享的代码。
本书采用直观、循序渐进的方法进行讲解,旨在帮助读者掌握如何使用R语言进行数据的导入、导出、操控、汇总、建模和绘制。本书还提供了设计代码的思路,以及如何使用当前的* 佳实践来构建强大的R包。
本书内容:
安装、配置和探索R语言的环境,包括RStudio;
使用基本的R语法、对象和包;
创建和管理数据结构,包括向量、矩阵和数组;
理解列表和数据框;
处理日期、时间和因子;
使用常见的R函数,并学会如何编写自己的函数;
导入和导出数据,连接数据库和电子表格;
使用流行的tidyr、dplyr和data.table包;
通过性能分析、向量化和初始化编写更高效的R代码;
绘制数据,用ggplot2和Lattice图形系统扩展绘图功能;
开发普通类型的模型;
构建高质量的包;
编写R类:S3、S4和引用类;
用R生成动态报告;
用Shiny创建Web应用程序。

目录

* 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
展开全部

作者简介

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喜欢学习各种欧洲语言,并用摄影记录她的旅行。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航