从我第一次接触R语言到现在(2020年)已经过了7年了,从一开始照着书本敲代码,到现在需要根据自己的需求编写代码处理问题,也写了一些和R语言有关的教程,算是能够比较熟练的使用R语言了。
由于平时经常有人问我如何入门R语言,而我通常会推荐几本书,让他/她去看其中的某些章节。为了避免重复回答同类型问题,于是就有人这篇推文。
首先,大部分人学习编程的目的,无非就是处理手头的数据,画一些好看的图。而我们之所以推荐R语言,也是因为R语言有着比较好的生态环境。
工欲善其事必先利其器,因此安装R语言环境是学习的最重要的一步。对于初学者,我建议这一步看视频,因为跟着视频安装R,RStudio 和 R包 不容易出错。我在哔哩哔哩上也上传了之前录制的一个视频,https://www.bilibili.com/video/BV19p4y1i7Zb 。
如果自己实在搞不定,或者不希望自己花太多时间在配置环境上,我们生信媛也提供了远程协助服务。
当我们配置好环境之后,接下来就是看书学习如何使用R处理数据。数据科学是一个极其广阔的领域,一个经典的数据科学项目需要的工具模型大体如下图所示。
为了能够在R语言中实现这套工具模型,看一本书肯定是不够的,我就买了不下5本和R语言有关的书(还有很多是电子版)。
这些书的侧重点各有不同,有些是面向初学者,有些是面向一定编程经验的人,有些是教你R语言绘图底层逻辑,有些则是给你画某种图形的代码。但是对于初学者我建议先买这三本,然后随便翻翻,看那本顺眼能看得下去,不要死磕一本书。
第一本书是「R数据科学」,如同封面所写,他就是按照我们之前说的那套工具模型教我们学习R语言。这本书有中文翻译版,但是和在线开源版,https://r4ds.had.co.nz/ 存在一些出入,其实只要英语过四级,都可以尝试去看英文原版(我之前还尝试过翻译,后来发现工作量太大,就放弃了)。这本书介绍的tidyverse
语法是一套解决各种数据科学难题的动词。对于曾经只学过R的基础函数的我而言,用这套高级数据处理语法简直不要太爽。
第二本书是「R语言实战」,我是看的这本书入门R语言。这本书的优点和缺点都是内容太多,初学者看着压力就很大。为了帮助大家减负,我来划划重点
-
第1章: 1.1 到 1.5 -
第2章: 2.1, 2.2, 2.3.2, 2.4, 2.5, 2.6 -
第4章: 4.1 到 4.10, 4.12 -
第5章: 5.1 到5.3
第3章和第6章的画图是R语言的基础画图系统,只需要了解即可,因为大部分时候我们都用ggplot2.
对于书中的「中级方法」 和「高级方法」只需要在用到的时候才去翻,平时就当不存在。
第三本书是「R语言入门与实践」,这本书的架构非常符合我的喜好,也就是项目驱动型的学习策略。书中介绍了3个项目,非均匀骰子,扑克牌和老虎机。我觉得可以用相同的书名,将其中的例子换成 「生存分析」 , 「差异表达分析」 和 「单细胞数据分析」 估计会有更多人看。
再强调一句,不要死磕一本书,因为每个写书的作者都有一定局限性。