为什么R语言是学习数据分析的第一选择

刚开始学习数据科学的人都会面对同一个问题:

不知道该先学习哪种编程语言。

不仅仅是编程语言,像Tableau,SPSS等软件系统也是同样的情况。有越来越多的工具和编程语言,很难知道该选择哪一种。

事实是,你的时间有限。学习一门新的编程语言相当于一项巨大的投资,因此在选择语言时需要有战略性。

很明显,一些语言会给你的投资带来很高的回报(付出的时间和金钱投资)。然而其他语言可能是你每年只用几次的纯粹辅助工具。

我给你的建议就是:先学习R语言

专注于一种语言

在说明为什么你应该学习R语言之前,我想强调的是,在开始学习数据科学时,你应该学习一种语言。

有些人问我是否应该学习在学R语言的同时学习Python。我的答案基本上是否定的,除非你需要使用一种以上的语言,否则你应该选择一种语言进行学习。

专注于一种编程语言的原因是,你需要更多地关注过程和技术,而不是语法。你需要掌握如何通过数据科学工具来分析数据,以及如何解决问题。事实证明,R语言是最佳的选择。

学习R语言

我建议你将R语言作为你的第一个“数据科学编程语言”。虽然也有例外,比如特定的项目需要。

因为R语言正在成为数据科学的“通用语言”

这并不是说R语言是唯一的语言,也不是说它是每个工作的最佳工具。然而,它是使用最广泛的,而且越来越受欢迎。

O' reilly media在过去几年中进行了一系列数据科学调查,分析了数据科学趋势。在2016年的调查报告中,R语言是最常用的编程语言(如果排除SQL的话,在本文中它不能称为编程语言)。57%的调查人群使用R语言(使用Python的比例为54%)。

另一个常见的语言排名系统是Redmonk编程语言排名,它由GitHub(代码行)和Stack Overflow(标签数)的流行指数派生而来。截至2016年11月,R语言在所有编程语言中排名第13。此外,R语言多年来一直呈持续上升趋势:

此外还有TIOBE指数(按搜索引擎搜索次数对编程语言进行排名)。在TIOBE指数上,R语言十年来呈现出稳定上升趋势。

使用R语言的公司

在招聘数据科学家的几家顶级公司中,R语言使用程度非常高。在我认为现代经济中最优秀的两家公司——Google和Facebook 都有使用R语言数据科学家。

除了像Google,Facebook和微软这样的科技巨头,R语言在美国银行,福特,TechCrunch,Uber和Trulia等众多公司都有广泛的应用。

R语言在学术界很受欢迎

R语言不仅仅是一个行业工具。它在学术科学家和研究人员中也非常受欢迎,最近著名《自然》杂志上发表的R语言概况也证实了这一点。

R语言在学术界的备受欢迎,因为它创造了供应行业的人才库。

换句话说,如果最优秀、最聪明的人群在大学学习了R语言,这将加大R语言在行业中的重要性。当学者、博士和研究人员离开学术界从事商业活动时,他们又将产生对R语言人才的需求。

此外,随着数据科学的成熟,商业届的数据科学家将需要与学术届的科学家进行更多的沟通。我们需要借鉴技术和交流观点。随着世界转变为数据流时,学术科学与面向商业的数据科学之间的界线会变得模糊。

通过R语言学习“数据科学的技能”是最简单的

然而,R语言的普及性并不是学习R语言的唯一原因。

在选择语言时,你需要一种在这些领域都具有重要功能的语言。同时你需要执行这些任务的工具,以及在你所选语言中来学习这些技能的资源。

如上所述,你更多地需要关注流程和技术,而不是语法。

你需要学习如何解决问题。

你需要学习如何在数据中找到真知灼见。

为此,你需要掌握数据科学的3个核心技能领域:数据处理,数据可视化和机器学习。在R语言中掌握这些技能将比任何其他语言都容易。

数据处理

一般来说,数据科学中80%的工作都是数据处理。通常情况下,你需要花费大量时间来整理你的数据。R语言中有一些很棒的数据管理工具。

R语言中的dplyr包使数据处理变得容易,这可以大大简化数据处理的工作流程。

数据可视化

ggplot2是最佳的数据可视化工具之一。ggplot2的好处是,在学习语法的同时,还学习如何思考数据可视化。

所有的统计可视化都有很深层的结构。存在构建数据可视化的高度结构化框架,ggplot2基于该框架。

此外,当将ggplot2和dplyr组合在一起时,从数据中得出相关见解几乎毫不费力。

机器学习

最后,还有机器学习。虽然我认为大多数数据科学初学者不应该急于学习机器学习(首先掌握数据探索更为重要),机器学习是一项重要的技能。当数据探索不再带来洞察力时,你则需要更强大的工具。

之后再学习更多的语言和工具

最终你会想学习更多的编程语言。就像工具箱中没有一个最好的工具一样,没有一种编程语言能够完美的解决你所有的数据问题。

以下是在学习R语言之后,你可以考虑学习的语言:

Python

Python是一种值得考虑的多用途编程语言。在O'Reilly最近的调查中,Python是数据科学家中第二受欢迎的编程语言。它具有优秀的可视化工具,以及机器学习工具。我认为,对于大多数人来说Python是应该学习的第二种语言。

D3

我超爱D3。D3中创建的可视化效果很棒,而且D3可视化的交互性非常适合构建仪表板。但它的伸缩性不够好。对我来说,D3更像是一个“工匠的工具”,它非常适合构建一个优雅的数据可视化,但是在需要几十个合作伙伴支持的情况下,手动创建这样的东西是不可能的。

与此同时,我还乐观地认为,R语言的ggvis将允许R语言用户创建高度动态和交互性的可视化,因此在某种意义上,R语言用户需要学习R的ggvis而不是D3。

总结:学习R语言,并集中精力

如果你是初学者,R语言是很好的选择。同时需要专注于学习数据科学的技能。

在学习过程中,你可能会看到很多新技术和新工具,或者一些令人眼花缭乱的数据可视化。

看到其他人的成果(并发现他们正在使用不同的工具)可能会导致你想尝试其他的东西。相信我:你需要集中注意力。你需要花上几个月(或更长时间)才能真正投入到一个工具中。

如上所述,如果你确实希望在数据科学工作流程中提高技能。至少在数据可视化和数据处理方面,你得具备扎实的技能。

在R语言上花费100个小时,将比在10个不同工具上各花费10个小时得到更高的回报。最后,通过集中精力,你的时间回报率将更高。不要因为“最新,最炫的事物”而分心。

原文链接:

https://www.r-bloggers.com/why-you-should-learn-r-first-for-data-science/

原文发布于微信公众号 - CDA数据分析师(cdacdacda)

原文发表时间:2017-07-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏CDA数据分析师

业界深访 | 研发总裁眼中的数据科学家

在大数据和机器学习的时代,有一种职业脱颖而出——数据科学家。数据科学家在近年来备受追捧,也有越来越多的人想投身入数据科学领域。

792
来自专栏深度学习与数据挖掘实战

干货|(书单推荐) 数据科学家&数据挖掘工程师

以上图书,是我经常翻阅的图书,和大家分享。如果有条件的可以,阅读英文原版,更好!

1581
来自专栏人工智能快报

OpenAI研究所制定四大研究目标

OpenAI是一家非营利人工智能研究公司,其使命是构建安全的人工智能,并尽可能广泛推广人工智能。OpenAI正在努力发展人工智能,并乐于与其他机构共享其方案及成...

28210
来自专栏社区的朋友们

腾讯云架构设计之道

腾讯内部有很多海量业务,在这些海量业务的设计、研发、运营中已经总结了很多非常好的理念和思想,本主题将通过腾讯云的架构及设计,来一一阐述这些理念及思想 在实际中如...

1.9K0
来自专栏腾讯大讲堂的专栏

设计师如何看穿需求本质

导语 本人已从事视觉设计工作多年,期间设计产品基于TV、PC和手机端等多类终端,作为一名视觉设计师,我们每天都在接触设计需求,但要做好设计需求,也确实不是一件...

2128
来自专栏数据科学与人工智能

【数据科学家】数据科学家的八大关键技能

在过去几年中,随着大数据的崛起,出现了大批的新型分析师。所谓的“数据科学家”被许多人认为是唯一能够充分利用大数据真正价值的人。虽然他们的职能已经非常清晰了,但是...

2366
来自专栏企鹅号快讯

如何在企业中融入机器学习

世界早已过了工业革命,现在我们正经历着一场数字革命的时代。机器学习、人工智能和大数据分析是当今世界的现实。 我最近有机会与Talend公司产品和营销副总裁Cia...

2075
来自专栏程序员互动联盟

学习编程有没有必要从C语言和C++学起?应该怎么学?

软件行业经过几十年的发展,编程语言的种类已经越来越多了,而且很多新的编程语言已经在这个领域从开始的默默无闻到如今风风火火,整个编程语言朝着集成化方向发展,这样会...

941
来自专栏腾讯大数据的专栏

2014第四季度移动行业数据报告

腾讯大数据发布2014年第四季度移动行业数据报告,从移动设备,网络,APP,手游等角度深度分析互联网现状,为广大开发者指引方向。 ? ? ? ? ? ? ? ?...

2065
来自专栏精讲JAVA

这可能是进入BAT年薪50w最好的一次机会!

作为世界第一编程语言,Java在编程界的地位毋庸置疑。当然,Java工程师也一直都是研发工程师里的重要角色。

2652

扫码关注云+社区

领取腾讯云代金券