研究生怎么快速上手R语言?

本文涉及的产品
数据管理 DMS,安全协同 3个实例 3个月
推荐场景:
学生管理系统数据库
简介: 研究生怎么快速上手R语言?

R语言是研究生的摸鱼神器

不管是数据分析还是科研绘图

轻松解锁花式操作


最近九月开学季

分享一下

一名非科班零基础的研究生

如何快速学习R语言?

怎么快速使用R语言?


计算机专业学生有良好的编程基础,而且经过了系统的学习和训练,但是非专业的同学(比如生化环材)没有接触过系统的编程课程,没有充裕的时间从头学起,如何才能在短时间内入门R语言,并在实际科研工作用使用R语言?此处推荐两本书:R语言编程(基于tidyverse)和R语言实战(第三版)。

刚入学的新朋友们第一学期要上课,科研任务安排的相对较少,趁着这半年大好空闲时间,快速学习掌握R语言和编程基础,把上水课时玩手机的时间拿来看两本书,绝对不亏~~


第一本:R语言实战

在我刚入学那会儿初次接触R语言,看的第一本工具书就是《R语言实战》,收获良多,当时还只是第二版。最近刚刚出版了《R语言实战 第三版》 ,豆瓣评分9.2,被称为最牛R语言实战书升级版。

上面这本书的第 1 版于 2012 年出版,距今已经过去 11 年了,第 2 版于 2016 年出版,豆瓣评分 9.2,全系列累计销量已经突破 30 万 册,是一本口碑与品质兼具的佳作。(点击红色购买按钮可以限时半价抢购)


这本书有什么亮点?

这几年 R 发生了一些变革,大数据的增长、tidyverse 软件的广泛应用、新的预测性分析和机器学习方法的快速发展,以及更多崭新且强大的数据可视化技术的进步促使 R 也发生了变革。

而本书的原作者也一直关注着这些变化,他针对读者反馈的新需求,对书中的内容进行了全新升级,力求能够跟上 R 的新变化。

第 3 版有许多变化,尤其是新增了 tidyverse 系列包在数据管理和数据分析方面的各种功能。以下将列出一些重要变化:

第 2 章(创建数据集)将介绍用于导入数据的 readr、readxl 和 haven 包。另外,新增的一节将专门介绍 tibble 数据结构。tibble 是对传统数据框的一种全新改进。

第 3 章(基本数据管理)和第 5 章(高级数据管理)将介绍用于数据管理、转换和汇总的 dplyr 和 tidyr 包。

第 4 章(图形初阶)、第 6 章(基本图形)、第 11 章(中级绘图)和第 19 章(高级绘图)是新增内容,将详细介绍 ggplot2 及其扩展包。

第 16 章(聚类分析)将提供改进后的图形绘制方法。其中新增的一节将专门介绍如何计算数据聚类。

第 17 章(分类)新增了一节,将介绍 Shapley 值图和细分图的用法,以便读者更好地理解黑箱模型。

第 18 章(处理缺失数据的高级方法)新增了几节,将介绍用于缺失值插补的 k 近邻方法和随机森林方法。

第 20 章(高级编程)新增的几节将介绍非标准计算和可视化调试。

第 21 章(创建动态报告)新增了 R Markdown 的内容,以及有关参数化报告和常见编码错误的内容。

第 22 章(创建包)被全面重写,以便涵盖使用新工具来简化包的创建步骤的内容。另外,这一章还新增了如何通过 CRAN、GitHub 和软件生成网站来分发和改进包的内容。

根据图形用户界面的最新变化,作者对附录 A(图形用户界面)进行了更新。



第二本:R语言编程

如何提升R语言能力?

R提供了丰富的数据处理、统计分析和图形可视化功能,包括基本的统计方法(如描述性统计、假设检验、线性回归等)和高级的统计技术(如非参数方法、广义线性模型、决策树、聚类分析等)。

此外,R还提供了强大的绘图和可视化功能,可以创建各种类型的图表,包括散点图、条形图、直方图、箱线图、密度图、热力图等。

我最近看到了一本很适合R语言爱好者的书,它是由哈尔滨工业大学基础数学博士张敬信教授编著的《R语言编程—基于tidyverse


这本书的作者张教授先在信息与计算科学专业打牢学术基础,然后继续在基础数学领域深造并一举拿下博士学位,年纪轻轻就成为了副教授。

干货满满

内容新颖

Tidyverse包是Hadley及团队的集大成之作,是专为数据科学而开发的一系列包的合集,提供了一致的底层设计哲学、语法、数据结构。它集数据导入—数据清洗—数据操作—数据可视化—数据建模—可重现与交互报告整个数据科学流程于一身,以“现代的”“优雅的”方式和管道式、泛函式编程技术实现。

本书绝大部分内容都是参阅最新版本R包的相关文档,很少参阅书籍(而且尽量参阅最新的在线版本)。本书全面采用最新的R语言技术编写,特别是tidyverse“整洁流、管道流、泛函流”数据科学。

真正融入编程思维

很多国内 R 语言编程书只是罗列堆砌编程语法,国外有不少优秀的 R语言编程书,但翻译版往往就只是 “直译”,只把表面意思用生硬的汉语表达出来,很难让初学者学透它们。

解决办法就是真正融入编程思维:编程思想引导,编程语法到底是怎么回事,应该用于何处、怎么使用。本书前言和第一章融入向量化编程与函数式编程思维;第二章主要融入数据思维。

精心准备实例

编程语法讲透彻还不够,必须配以合适的实例来演示,所以也请读者一定要将编程语法讲解与配套实例结合起来阅读,比起实例代码调试通过,更重要的是借助实例代码理解透彻该编程语法,所包含的编程思维。

本书后半部分是R语言在应用统计、探索性数据分析、文档沟通方面的应用,所配案例力求能让读者上手使用。

程序代码优雅、简洁、高效

本书程序代码都是基于最新的tidyverse,自然就很优雅;简洁高效是能用向量化编程就不用逐元素,能用泛函式编程,就不用 for 循环。

可以说,读者如果用我这本书入门 R 语言,或者更新您的 R 知识,就会自动跳过写低级啰嗦代码的阶段,直接进入写让别人羡慕的 “高手级” 代码的行列。

本书内容安排简介

R 语言编程的基本语法

同时渗透向量化编程、函数式编程思维。这些语法在其它编程语言中也是相通的,包括搭建 R 语言环境,常用数据结构(存放数据的容器) :向量、矩阵、数据框、因子、字符串(及正则表达式) 、日期时间,分支结构,循环结构,自定义函数。

这些基本语法是您写 R 代码的基本元素,学透它们非常重要,只有学透它们才能将其任意组合、恰当使用,以写出各种各样的解决具体问题的 R 代码。同样是讲 R 基本语法,本书不同之处在于,用tidyverse中更一致、更好用的相应包加以代替:用tibble代替data.frame、用forcats包处理因子,用stringr讲字符串 (及正则表达式)、用lubridate包讲日期时间、循环结构中用purrr包的map_函数代替apply系列函数,其中特别讲到编程技术:泛函式编程。

tidyverse数据操作思维

先简单介绍 tidyverse包以及编程技术之管道操作,接着围绕各种常用数据操作展开,包括数据读写(各种常见数据文件的读写及批量读写、R连接数据库、中文编码问题及解决办法),数据连接(数据按行/列拼接、SQL数据库连接),数据重塑 (“脏”数据变“整洁”数据,长宽表转换、拆分与合并列),数据操作 (选择列、筛选行、对行排序、修改列、分组汇总)、其它数据操作 (按行汇总、窗口函数、滑窗迭代、整洁计算),以及data.table基本使用 (常用数据操作的dplyr语法与data.table语法对照)。

tidyverse最大的优势就是以“管道流”、“整洁语法”操作数据,这些语法真正让数据操作从R base的晦涩难记难用,到tidyverse的“一致”、“整洁”好记好用,比Python的 pandas还好用!关键是用一次就能记住!

为了最大程度地降低理解负担,本书特意选用中文的学生成绩数据作为演示数据,让读者只关心语法就好。另外,tidyverse 的这些数据操作,实际上已经在语法层面涵盖了日常Excel数据操作、SQL数据库操作,活用tidyverse上述数据操作语法已经可以胜任这些工作。

可视化与建模技术

可视化只介绍最流行的可视化包ggplot2,先从 ggplot2的图层化绘图语法开始,依次介绍ggplot2的九大部件:数据、映射、几何对象、标度、统计变换、坐标系、分面、主题、输出;接着介绍图形从功能上的分类:类别比较图、数据关系图、数据分布图、时间序列图、局部整体图、地理空间图,对每一类图形分别选择其中代表性的用实例加以演示。

建模技术包括三个内容:

(1) 用broom包提取统计模型结果为整洁数据框,方便后续访问和使用;

(2) modelr包中一些有用的辅助建模函数;

(3) 批量建模技术,比如要对全世界 170 多个国家的数据分别建立模型、提取模型结果,当然这可以用for 循环实现,但这里采用更加优雅的map_实现,以及“行化迭代”实现。


image.png

以上就是本次分享的两本书,都是学习R语言的优质参考资料,点击上方链接可以享受专属优惠,京东官方旗舰店包邮正品图书。【小彩蛋:感谢您看到这里!送一个小福利~~转发这篇文章到朋友圈,集赞19个,后台添加我微信,发送截图即可,首位完成上述操作的朋友可以从这两本书中任选一本,包邮赠送,也可以折现50元】

相关实践学习
MySQL基础-学生管理系统数据库设计
本场景介绍如何使用DMS工具连接RDS,并使用DMS图形化工具创建数据库表。
相关文章
|
2月前
|
机器学习/深度学习 Linux Python
Python编程教学
【10月更文挑战第2天】Python教学
48 13
|
机器学习/深度学习 搜索推荐 数据可视化
小白入门机器学习必学案例分享。
小白入门机器学习必学案例分享。
711 0
小白入门机器学习必学案例分享。
真正的入门—提高班的学习
前几天开始了自己的计算机二级考试(C++),遵循三步走的战略(略读知宏观、详读知内容、做题看实战)、第一阶段结束之后,稍作总结就开始了第二阶段的学习,因为我们小团队采用化整为零细分学习的方法
|
机器学习/深度学习 SQL 分布式计算
墙裂推荐!小白入门数据科学的几个宝藏学习网站
前方高能,准备开启收藏夹吃灰模式。 本篇东哥分享几个数据科学入门的学习网站,全部免费资源,且内容优质,是小白入门的不二选择。吃灰是常规操作,但也得吃,总比需要用的时候找不到强。 下面开始进入正题。
墙裂推荐!小白入门数据科学的几个宝藏学习网站
|
数据采集 安全 程序员
学Python 从入门到入狱需要多久?
最近双十一又到了,各种电商平台的的奥数商品层出不穷,但是在这些奥数题下有很多市场硬通货(例如茅台、手机等)因为各种优惠券比二级市场价格便宜不少
179 0
学Python 从入门到入狱需要多久?
|
机器学习/深度学习 IDE 开发工具
阿里云机器学习怎么玩?这本新手入门指南揭秘了!
PAI-DSW云端IDE揭秘,动手实验室畅快玩!更有四大实践场景助你快速上手, 动手体验数据科学,成为PAI-DSW探索者!
30273 0
阿里云机器学习怎么玩?这本新手入门指南揭秘了!
|
机器学习/深度学习 分布式计算 并行计算
【好书推荐】推荐一份从入门到进阶的机器学习书单
【好书推荐】推荐一份从入门到进阶的机器学习书单
【好书推荐】推荐一份从入门到进阶的机器学习书单
|
机器学习/深度学习 人工智能 TensorFlow
《文科生数据科学上手指南》分享
据说技术门槛在降低。作为文科生的你,该如何从这种趋势中收获更多? 苦恼 你大概经常听别人提起,技术的门槛在降低。 数据科学、机器学习、自然语言处理、神经网络、人工智能……一系列的名词让你眼花缭乱,让你对这个时代充满兴奋的感觉。
2202 0
《文科生数据科学上手指南》分享
|
数据可视化 Python 数据挖掘