购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.6.1 高效学习R语言,最小化精力投入

首先,R语言为什么会被视为一门很难学的语言呢?对于这个问题,没有一个普遍统一的答案,不过可以尝试推理一下其中的原因。R语言通常是进行数据分析的首选语言,它是从事数据统计的人员为他们自己,尤其是学习数据统计的学生创建的一门语言。这就决定了这门语言的两大特点。

● R语言没有很好地考虑编程体验。

● R语言具有其他语言所没有的统计技术,并且具有前所未有的创新的交互方式。

大家可以找到R语言学习曲线陡峭的原因,具体归纳如下。首先,相较于Julia和Swift这样的语言,R语言并不是一个对程序员友好的语言。正如1.2节所提到的,R语言是诞生于学术领域的一种工具。其创造者可能也没有想到,如今R语言可以被用于开发网站(更多内容请见第13章,看一看这个令人眼前一亮的应用)。

其次,学习过其他统计语言的人学习R语言时,会有一种晕头转向的感觉。在R语言中应用数据模型时,会体验到一种令人惊艳的交互过程:读者将数据输入模型,得到结果,并对结果进行分析判断;然后迭代执行上述过程,或者进行交叉验证。在该过程中,所有的操作都具有非常高的灵活性。这完全不是统计分析系统(SAS)和统计分析软件(SPSS)的用户所能够体验到的。在SAS及SPSS中,用户只能将数据提交给执行函数,然后得到一个大而全的结果集。

这就是最终结论了?难道只能被动接受历史原因所导致的陡峭的R语言学习曲线吗?当然不是。实际上,R语言社区一直在积极地参与平缓这条曲线的工作,主要的工作内容有以下两点。

● 改善R语言的编程体验。

● 编写高质量的学习资料。

1.tidyverse程序包

现如今在谈论R语言的时候,一定会提到tidyverse程序包,因为tidyverse程序包在R社区中非常流行。tidyverse是由哈德利·威克姆开发的一个框架,该框架包含很多概念和函数。由于tidyverse程序包的存在,使用R语言的编程体验更加贴近现代的编程体验。有关tidyverse程序包的介绍已经超出了本书的范围,但是本书作者还是想简单地介绍一下这个框架的组成部分,它通常至少包含以下4个程序包。

● reader:用于数据导入。

● dplyr:用于数据操作。

● tidyr:用于数据清洗。

● ggplot2:用于数据可视化。

tidyverse取得了很大的成功,因此出现了很多关于tidyverse主题的学习资料。在后文中,将介绍这些学习资料。

2.利用R语言社区来学习R语言

R语言最令人欣赏的特点之一就是它拥有一个生机勃勃的社区。起初,R语言社区主要由在其研究过程中偶遇R语言这一强大工具的统计人员和学术研究人员组成。如今,除了统计人员和学术研究人员,其他领域的专业人士也纷纷加入了R语言社区,包括金融学、化学及遗传学等领域。对于每个初学者来说,R语言社区都是一笔巨大的“财富”,社区中的人都非常友好且乐于帮助初学者迈出学习这门语言的第一步。但是读者可能会感到疑惑,要如何利用R语言社区呢?答案是,首先要找到这个社区并体验它;接下来要做的就是,看看如何利用社区主导的内容来切实可行地学习R语言。

(1)如何找到R语言社区

R语言社区存在很多种交流方式(包括各种线上和线下方式),要与R语言社区进行交流,可以通过其中的任意一种方式。下面列出的是部分线上和线下方式。

线上方式:

● R-bloggers。

● Twitter主题标签#rstats。

● Google+社区。

● Stack Overflow上被标记了R的问题。

● R-help邮件列表。

线下方式:

● R语言年度研讨会。

● RStudio开发者大会。

● R线下聚会。

(2)通过与R语言社区互动来学习R语言

既然已经知道如何找到R语言社区,那么接下来就看看如何利用社区进行学习。通常有3种可选的方式(非单选)。

● 查阅社区主导的学习资料。

● 向社区寻求帮助。

● 及时跟进R语言的最新进展。

查阅社区主导的学习资料: 学习资料主要有以下两种。

● 论文、手册和图书。

● 在线交互式课程。

论文、手册和图书:虽然这种学习资料是比较传统的,但读者不应因此而忽视它们,因为这些学习资料总是能够让读者对所探讨的问题获得更加结构性而且系统性的理解。读者也可以在网络上找到论文、手册和图书形式的资料。

向读者推荐以下比较有帮助的期刊和图书。

Advanced R

R for Data Science

An Introduction to Statistical Learning

OpenIntro Statistics

The R Journal

在线交互式课程:这类课程应该是当前非常常见的学习资料了。在很多不同的平台上都能找到非常不错的R语言学习资料,其中知名的可能是DataCamp、Udemy和Packt。这些平台上分享的是一种实用的交互方式,读者可以通过练习和实践,直接掌握相关的主题知识,而不是被动地看着别人解释复杂的理论。

向社区寻求帮助: 当开始编写第一行R语言代码时(甚至在编写代码之前),读者可能会遇到一些与编码工作相关的问题。在这种情况下,最好的方法就是向社区求助,在社区的帮助下解决这些问题。读者很可能并不是第一个提出相关问题的人。所以,在提出问题之前,可以先在网上寻找一下之前是否有人提出过类似的问题,并查看问题答案。

应该在哪里寻找答案呢?在大部分情况下,读者可以通过以下几处找到答案(按可能找到答案的概率先后列出)。

● Stack Overflow。

● R-help邮件列表。

● R程序包的文档。

但是,不建议读者在社交网络或者其他类似网站上寻找答案,因为它们并不是专注于处理这类问题的网站。在这些网站上,答案没有经过任何专业的审核,因此,在这类网站上查找到的答案可能是过时的,或者根本就是不正确的。

如果读者提出的是一个从未有人问到过的新问题,那么读者可以在前面寻找问题答案的地方进行提问。

及时跟进R语言的最新进展 :由于存在很多热心用户的贡献,R语言的世界才得以不断更新、不断进步。如何紧跟这些变化呢?社交网络可以派上用场。通过关注社交网络或者类似网站的#rstats主题标签,读者就可以不断地了解R语言的动态。另外,还可以在R-bloggers上订阅每日新闻,这些新闻是由前一天发布的与R语言相关的博客文章组成的,都很实用。最后,读者可以通过R语言年度研讨会或者类似会议接触到著名的R专家,听取他们的独特见解,以及他们关于R语言未来发展的演讲。 +aw6+v0hVMwY0OfXRY21G6doch2JW8+lAr/OyEbJ0OwxLPbUfKVEl7KPij4WDhuR

点击中间区域
呼出菜单
上一章
目录
下一章
×

打开