当前位置:首页 > 新闻资讯 > 正文

R vs Python:R是现在最好的数据科学语言吗?2017-01-09 16:16:51 | 编辑:hely | 查看: | 评论:0

我写这篇文章是为了向那些声称掌握 R 语言浪费时间的人致辞。(因为它最终会变得过时)。但是当我认为 R 语言最终会变得过时时,这似乎引起了恐惧——仿佛 R 语言已经过时了。
我写这篇文章是为了向那些声称掌握 R 语言浪费时间的人致辞。(因为它最终会变得过时)。

但是当我认为 R 语言最终会变得过时时,这似乎引起了恐惧——仿佛  R 语言已经过时了。

我想要消除你的恐惧: R 语言仍然很流行。

 R 语言是过去十年中发展最快的编程语言之一。

事实上,如果你开始学习数据科学,我仍然推荐从 R 语言开始。

所以,我想向你保证。R 语言绝对没有过时的。事实上,R 语言是非常受欢迎的而且是最好的数据语言。

为此,我想解释为什么我对 R 语言的长期前景非常乐观,以及为什么我认为这也许是今天可以学习的最好的数据科学语言。

R 语言始终是最好的语言之一

我想让你们明白的一件事情是:目前 R 语言是存在的最受尊敬、排名最高、增长最快的语言之一。

在很多方面,R 语言就代表了数据语言。在数据科学领域,这是一个仍处于顶端的语言(只有 1 到 2 个真正的竞争者)。

为什么这么说呢?让我们看看几个重要的调查和编程语言排名的结果,看看 R 语言排在哪里。

IEEE:R 语言排名第 5

世界上最大的技术专业协会 IEEE 在几年前已经创建了一个编程语言排名。

这个 IEEE 的排名系统使用一组 12 个指标,包括比如谷歌的搜索量、谷歌的趋势、Twitter 的点击次数、GitHub 的库、Hacker News 的帖子等等。

使用这种方法,他们将几十种编程语言进行排名和分类。

在他们对 2016 年顶级编程语言的回顾中,R 语言已经攀升到了第 5

 

\

 

IEEE 的方法是非常全面的,所以这对于 R 相对于其他语言的力量和学习的相对价值是一个很好的指示。

TIOBE:R的排名高,且具有连续的上升趋势

另一个排名系统,TIOBE 索引,为各种编程语言创建了相似的分数和排名。

如果我们看看 R 语言在 TIOBE 索引上的表现,我们可以看到近十年以来一个稳定的上升趋势。

 

\

 

请记住,TIOBE 索引的结构是「编程语言受欢迎程度的指示」。索引每个月更新一次,评分是基于世界范围内的精尖工程师、课程和第三方供应商的使用量。像谷歌、Bing、雅虎、维基百科、亚马逊、油管和百度等热门搜索引擎则用来计算排名。

到 2016 年 12 月,R 语言的总排名是 17(在所有编程语言中)。它的最高排名是 2015 年 5 月的第 12 名。

这表明,如果你想学习数据科学,目前学习 R 语言仍然是一个很好的选择。(要清楚,Python 在 TIOBE 索引上的排名较高,但是很难从 Python 相关使用的严格数据中分离出网络和软件开发的使用情况,因此这可能不是一个公平的比较)。

Redmonk:R语言排名12

另一个经常选择的语言排名系统是 Redmonk 编程语言排名,它是从 GitHub(代码行数)和 Stack Overflow(标签数量)上的流行度衍生出来的。

截至 2016 年 11 月,R 语言在所有编程语言中排名第 13 位。

此外,R 语言几年来一直呈上升趋势

在前 20 种语言的后半部分中,随着时间的推移,R 语言显示出最一致的上升趋势。从 2012 年的第 17 位开始,它随着时间的推移稳步上升,但似乎在 13 这个位置上停留了连续三个季度。然而这一次,R 语言代替了排名 12 位的 Perl,使其跌落到 13 位。虽然仍然有大量的 Perl 语言在流通,但是更加专业的 R 语言已经夺取了这个一度被认为是网络粘结剂的 Perl 语言的位置。当然这与 R 语言的支持者们无关。R 语言相对独特的前 20 路径是值得它们的粉丝所欢呼的。

O’Reilly:R语言可以说是最常见的数据编程语言

最后,媒体 O'Reilly 在过去的几年里进行了一次数据科学调查,他们使用调查数据来分析数据科学的趋势。除了其他的之外,它们分析工具的使用情况来确定哪些工具是数据科学家最常使用的。

在 2016 年的调查报告中,R 语言是最常用的编程语言(如果我们排除 SQL,这不是我在这里所指的编程语言)。57% 的受访者使用 R 语言(相比之下,使用 Python 的有 54%)

(另外,有 70% 的受访者使用 SQL。如果你正在寻找 R 之后的另一个语言去学习,我会推荐 SQL)

他们还调查了人们去识别数据可视化的工具。他们发现 ggplot2 是最常见的可视化工具。我会在一篇即将发布的博客中解释为什么我喜欢 ggplot2,但如果我们只跟踪人气,O'reilly 的调查表明 ggplot2 时最常被使用的工具之一,甚至可能就是最常被使用的。

R 语言是学习数据科学的极佳语言

R 语言成为一门极佳的数据科学语言,在普遍性之外,另一大原因是:它是一门非常好的学习数据科学的语言。

R 语言是真正的「数据语言」

R 语言之所以如此适合数据科学的原因部分跟它本身的语言特性有关。自 R 语言发明之初,数据及统计的观念便融入其中。R-Project 形容其为「为统计计算而准备的编程语言及环境」。也就是说,R 语言的 DNA 中就含有统计及数据的基因。

如此说来,R 语言在众多编程语言中可谓独树一帜。它是一门为统计而生的语言,是一门为(处理)数据而设计的语言。当你在学习数据科学的时候,这将带来很大的优势——因为几乎所有的统计测试或方法都能够在 R 语言及其拓展库中找到。

最好的书籍和资源都使用了 R 语言

俨然,R 语言已是一门「统计计算」语言。与之相关的是,许多很好的书籍及学习资源都采用了 R 语言。

这非常重要。如果你是一名初学者,在数据科学领域才刚刚起步,那么你将需要学习很多知识。要真正掌握数据科学,你需要学习包括概率论、统计学、数据可视化、数据处理及机器学习在内的诸多子领域。所有这些领域都包含了理论基础(也就是你需要学习的内容),同时你也需要通过编写程序实际使用它们。

也就是说,你需要这样一种语言:

能够在这些领域都能够发挥作用(如数据可视化、数据处理、机器学习(也叫做统计学习))。

这门编程语言在这些领域内还有高质量的学习、训练素材。

尽管市面上有很多关于数据科学的书籍与课程,但其中最好的大多都是基于 R 语言的。

使用 R 语言学习概率论

以概率论为例,两本关于概率论的优秀书籍都是用 R 语言来编写书上的上手案例的。这两本书分别是:

《Probability with Applications and R》。这本书语言朴实、通俗易懂、条理清晰。

《Introduction to Probability》。这本书基于哈佛著名的统计学课程编写。

这只是两个简单的例子。如果你进一步发掘的话,你会发现几乎所有的关于概率论的书籍都使用了 R 语言。

使用 R 语言学习频率论统计学(frequentist statistics)

对于统计学方面的书籍也是如此。

因为统计学已经深入 R 语言的骨髓,所以许多统计学课本使用 R 语言作为其学习工具。

《Statistics: an Introduction using R》是一本介绍频率论统计学的优秀书籍。

一样的,如果你在亚马逊上快速搜索一下,你找到的大部分统计学入门的教材都使用了 R 语言作为它们的学习工具。

使用 R 语言学习贝叶斯统计学

当你正在寻找一本关于贝叶斯统计学的入门书籍时,这种趋势变得更为明显。

几乎所有的关于贝叶斯统计及推断的书籍都是用了 R 语言。尽管有些例外(有些书使用了 C 语言或者 Python),但主导的仍然是 R 语言。

如果你对贝叶斯统计学感兴趣,你可以查看这几本书:

Introduction to Bayesian Statistics
Statistical Rethinking
Doing Bayesian Data Analysis

如果你对贝叶斯方法感兴趣的话,这些书是你最棒的选择了,并且它们都使用了 R 语言。

上一篇:亚马逊前首席科学家:大数据价值体现在AI、BI、CI、DI 如何使大数据易于管理下一篇:

公众平台

搜索"raincent"或扫描下面的二维码