书籍详情
《高级R语言编程指南》[28M]百度网盘|亲测有效|pdf下载
  • 高级R语言编程指南

  • 出版社:机械工业出版社自营官方旗舰店
  • 出版时间:2020-08
  • 热度:8904
  • 上架时间:2024-06-30 09:08:33
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

内容简介

  《高级R语言编程指南(原书第2版)》为解决各种R语言编程问题提供了非常有用的工具和技术,帮助你少走弯路。
  本书阐释了R语言的基础,包括三种基本的编程范式(函数式编程、面向对象编程和元编程),以及用于调试和优化代码的强大技术,并展示了许多必备的技巧,通过它们可以创建在各个场景中使用的优质代码。
  《高级R语言编程指南(原书第2版)》由R语言领军人物Hadley Wickham亲笔撰写,深入阐释R语言编程的核心技术、工具,并提供大量实用编程技巧,可以帮助你了解R语言底层的工作方式,提升R语言编程技能,有效解决实际工作中的各种R语言编程问题。
  《高级R语言编程指南(原书第2版)》分为五部分,首部分(第2-8章)详细介绍R语言基础知识,包括名字和取值、向量、子集选取、控制流、函数、环境、条件;第二部分(第9-11章)介绍函数式编程,包括泛函、函数工厂和函数运算符;第三部分(第12-16章)介绍面向对象编程,包括基础类型、S3、R6、S4,以及各系统之间的权衡;第四部分(第17-21章)介绍元编程技术,包括表达式、准引用、计算、翻译R代码等;第五部分(第22-25章)介绍R的高级技术,包括调试、衡量性能、改进性能、使用C++重写R代码。
  《高级R语言编程指南(原书第2版)》展示了R的特别之处,为想深入学习R、理解R语言的初学者奠定了基础。中级R程序员则可以通过《高级R语言编程指南(原书第2版)》更深入地学习解决各种问题的新策略。
  而其他语言的程序员可以通过《高级R语言编程指南(原书第2版)》细致地了解R语言并理解R语言的运行方式。
  《高级R语言编程指南(原书第2版)》的更新如下:
  首部分增加三章新的内容:名字和取值、控制流、条件。
  全面介绍面向对象编程,涵盖S3、R6、S4,以及如何在它们中进行选择。
  更深入地介绍元编程,包括新的tidy评估框架。
  使用新的添加包,如rlang(http://rlang.r-lib.org)和purrr(http.//purrr.tidyverse.org/)进行函数式编程。添加包rlang为低级操作提供了简洁的接口。

作者简介

  哈德利·威克汉姆(Hadley Wickham),RStudio首席科学家,斯坦福大学和奥克兰大学的兼职教授,并且是R基金会的成员。他是R添加包tidyverse(包含ggplot2和dplyr)的主要开发人员,这些R包旨在支持数据科学。他还是R for Data Science(与Garrett Grolemund 台著)、R Packages和ggplot2: Elegant Graphics for Data Analysis的作者。2019年,他获得了考普斯总统奖——国际统计学领域的奖项。

内页插图

目录

译者序
前言

第1章 绪论
1.1 为什么选择R语言
1.2 本书的目标读者
1.3 通过本书你可以学到什么
1.4 通过本书你将不能学到什么
1.5 元技术
1.6 推荐阅读
1.7 获取帮助
1.8 致谢
1.9 约定
1.10 声明

第一部分 基础知识
第2章 名字和取值
2.1 本章简介
2.2 绑定基础
2.3 复制后修改
2.4 对象大小
2.5 原位修改
2.6 解除绑定和垃圾回收
2.7 小测验答案
第3章 向量
3.1 本章简介
3.2 原子向量
3.3 属性
3.4 S3原子向量
3.5 列表
3.6 数据框和tibble
3.7 NULL
3.8 小测验答案
第4章 子集选取
4.1 本章简介
4.2 选择多个元素
4.3 选择一个元素
4.4 子集选取与赋值
4.5 应用
4.6 小测验答案
第5章 控制流
5.1 本章简介
5.2 选择
5.3 循环
5.4 小测验答案
第6章 函数
6.1 本章简介
6.2 函数基础
6.3 函数组合
6.4 词法作用域
6.5 惰性求值
6.6 参数
6.7 退出函数
6.8 函数形式
6.9 小测验答案
第7章 环境
7.1 本章简介
7.2 环境基础
7.3 环境递归
7.4 特殊环境
7.5 调用堆栈
7.6 模拟数据结构
7.7 小测验答案
第8章 条件
8.1 本章简介
8.2 信号条件
8.3 忽视条件
8.4 处理条件
8.5 自定义条件
8.6 应用
8.7 小测验答案

第二部分 函数式编程
第9章 泛函
9.1 本章简介
9.2 第一个泛函:map()
9.3 purrr风格
9.4 map变体
9.5 reduce系列
9.6 判断泛函
9.7 基础泛函
第10章 函数工厂
10.1 本章简介
10.2 工厂基础
10.3 图形工厂
10.4 统计工厂
10.5 函数工厂+泛函
第11章 函数运算符
11.1 本章简介
11.2 现有的函数运算符
11.3 案例学习:生成你自己的函数运算符

第三部分 面向对象编程
第12章 基础类型
12.1 本章简介
12.2 基础对象与OO对象
12.3 基础类型
第13章 S3
13.1 本章简介
13.2 基础
13.3 类
13.4 泛型和方法
13.5 对象风格
13.6 继承
13.7 分派细节
第14章 R6
14.1 本章简介
14.2 类和方法
14.3 控制访问
14.4 引用语义
14.5 为什么是R6
第15章 S4
15.1 本章简介
15.2 基础
15.3 类
15.4 泛型和方法
15.5 方法分派
15.6 S4和S3
第16章 权衡
16.1 本章简介
16.2 S4与S3
16.3 R6与S3
……

第四部分 元编程
第五部分 高级技术

参考文献
索引

前言/序言

  欢迎使用《高级R语言编程指南》的第2版。本版有三个主要目标:
  增加我在第1版发布后才完全理解的重要概念。
  减少已不太实用的主题,以及我认为确实令人兴奋但结果却不那么实用的主题。
  使用更好的文本、更清晰的代码和更多的图表,使内容更易于理解。
  如果你熟悉第1版,就会发现此前言介绍了主要的改动,以便你可以将重点放在新的领域上。如果你正在阅读本书的印刷版本,你会很快注意到一个变化:书中包含了100多个新图表。
  本版中的另一个重大变化是使用了新的添加包,尤其是rlang(http://rlang.r-lib.org),它为低级数据结构和操作提供了干净的接口。第1版几乎完全使用了基础包的R函数,这给教学带来了挑战,因为许多函数是多年独立发展的,所以很难看到隐藏在函数名称和参数的偶然变化中的重要基础思想。我将继续在各节的脚注中以及需要的地方显示基本等价的内容。但是如果你希望在本书中看到这些想法的最纯粹的R基础包中的表示,我建议你阅读第1版。你可以在线访问http://adv-r.had.co.nz。
  自第1版出版以来的5年中,R的基础没有改变,但是我对它们的理解确实有所改变。因此,本书第一部分总体结构大致保持不变,但是许多单独的章节已得到很大改进:
  第2章是全新的一章,可帮助你了解对象和对象名字之间的区别。这有助于你更准确地预测R将在何时复制数据结构,并为理解函数式编程奠定重要基础。
  第3章(第1版中称为“数据结构”)已被改写,着重于向量类型,例如整数、因子和数据框。它包含主要的S3向量的更多详细信息(例如日期和日期时间),讨论了
  tibble添加包提供的数据框变化[Mullerand Wickham,2018],并总体上反映了我对向量数据类型的理解。
  第4章现在通过[和[[的用途来对它们进行区分:[提取多个值,而[[提取单个值(以前,它们是通过“简化”或“保留”来表征的)。4.3节的“练习”帮助你了解如何在列表中使用[[,并引入新函数,这些函数为越界索引提供了更一致的行为。
  第5章是全新的一章,介绍了之前被我遗忘了的重要工具,例如if语句和for循环。
  第6章的顺序得到了改进,引入了管道符(%>%)作为函数编写的第三种方式(6.3节),并且显著改善了函数形式的覆盖范围(6.8节)。
  第7章对特殊环境进行重新组织(7.4节),并对调用堆栈的讨论进行改进(7.5节)。
  第8章包含第1版的“异常和调试”中的内容,以及有关R条件系统如何工作的许多新内容。该章还介绍如何创建自定义条件类(8.5节)。
  接下来的章节围绕R中三个最重要的编程范例——函数式编程、面向对象编程和元编程,进行重新组织。