R语言编程:基于tidyversemobi电子书提取码

简介: 一本基于tidyverse入门R语言编程的书。

内容提要

这是一本基于tidyverse入门R语言编程的书,本书从基本的编程语法讲起,适合编程零基础的读者阅读。本书结合新的R语言编程范式,让读者学习更高效率的R编程,尤其是真正用整洁优雅的数据化编程思维解决一系列数据问题,包括数据清洗、数据处理、数据可视化、统计建模、文档沟通等,并在附录中将透视表、网络爬虫、高性能计算、机器学习等典型应用囊括其中,为读者提供了丰富的R实用编程案例,也可作为一本R语言语法大全的工具书。

本书面向热爱R语言编程的读者,适合统计学、数据分析、数据可视化等领域的读者阅读参考,也可以作为高等院校相关专业的R语言教材。

彩图

▲图2.1 tidyverse优雅编程思维(核心编程思想)

▲图2.3 tidyverse整洁工作流

▲图3.3 简单的分组散点图

▲图3.6 带全局光滑曲线的散点图

▲图3.19 手动设置离散变量颜色并修改对应图例

▲图3.20 使用调色板颜色设置离散变量颜色

▲图3.21 使用渐变色设置连续变量颜色

▲图3.25 标注均值和标准差的小提琴图

▲图3.29 堆叠条形图t

▲图3.35 选择主题

▲图3.36 在ggplot生成的图中使用中文字体

▲图3.42 人口金字塔图

▲图3.44 折线图与面积图

▲图3.46 饼图

▲图3.48 用gganimate绘制动态可视化图形

▲图4.1 不同均值标准差对应的正态分布

▲图4.4 标记频率的水平条形图

前言

R语言是以统计和分析见长的专业的编程语言,具有优秀的绘图功能,且开源免费,有丰富的扩展包和活跃的社区。R语言的这些优质特性,使其始终在数据统计分析领域的SAS、Stata、SPSS、Python、Matlab等同类软件中占据领先地位。

R语言曾经最为人们津津乐道的是Hadley开发的ggplot2包,其泛函式图层化语法赋予了绘图一种“优雅”美。近年来,R语言在国外蓬勃发展,ggplot2这个“点”自2016年以来,已被Hadley“连成线、张成面、形成体(系)”,从而形成了tidyverse包。该包将“数据导入、数据清洗、数据操作、数据可视化、数据建模、可重现与交互报告”整个数据科学流程整合起来,以“现代的”“优雅的”方式和管道式、泛函式编程技术实现。不夸张地说,用tidyverse操作数据比pandas更加好用、易用!再加上可视化本来就是R所擅长的,可以说R在数据科学领域不次于Python。

这种整洁、优雅的tidy流,又带动了R语言在很多研究领域涌现出一系列tidy风格的包:tidymodels(统计与机器学习)、mlr3verse(机器学习)、rstatix(应用统计)、tidybayes(贝叶斯模型)、tidyquant和modeltime(金融)、fpp3和timetk(时间序列)、quanteda(文本挖掘)、tidygraph(网络图)、sf(空间数据分析)、tidybulk(生物信息)、sparklyr(大数据)等。

在机器学习和数据挖掘领域,曾经的R包总是在单打独斗,如今也正在从整合技术方面迎头赶上Python,出现了tidy风格的tidymodels包,以及新一代的用于机器学习的mlr3verse包,这些包基于R6类面向对象、data.table神速数据底层和开创性的Graph-流模式(图/网络流有别于通常的线性流)。

写作本书的目的

我发现近几年出现的R语言新技术很少有人问津,绝大多数R语言的教师和学习者,以及教材、博客文章仍在沿用那些过时的、晦涩的R语法,对R语言的印象仍停留在几年前:语法晦涩难懂、速度慢,做统计分析和绘图还行,没有统一的机器学习框架,无法用于深度学习、大数据、工业部署等。

有感于此,我想写一本用新R的技术,方便新手真正快速入门R语言编程的书,来为R语言正名。我是一名大学数学教师,热爱编程、热爱R语言,奉行终身学习的理念,一直喜欢跟踪和学习新知识、新技能。我对编程和R语言有一些独到的理解,因为我觉得数学语言与编程语言是相通的,都是用语法元素来表达和解决问题,我想把这些理解和体会用简洁易懂的方式表达出来。

版权:人民邮电出版社