独家 | 为什么R是数据科学家的必修课?

独家 | 为什么R是数据科学家的必修课?

作者:刘爱子、张汉卿、帕兰贾利·加尔加里

翻译:陈之炎

校对:吴金笛

本文约3200字,建议阅读10分钟。

R语言是许多公司招聘时所要求的技能,是在数据科学中需要掌握R语言的几个主要原因。

独家 | 为什么R是数据科学家的必修课?

虽然Python能够处理工程、数据争论等多方面的任务,在业界受到越来越多的欢迎,但是 R语言与统计/统计机器学习的紧密联系,使它成为数据科学领域的一种重要语言。R语言是许多公司招聘时所要求的技能,是在数据科学中需要掌握R语言的几个主要原因:

专为数据分析而设计的语言

R与Python不同,Python在成为数据分析工具之前一直是一种通用的高级编程语言,R语言从一开始就设计为数据分析工具。Python语言的编码人员往往被训练为程序员,但R设计师却发现,在许多与数据相关的任务中,获得有价值的数据洞察力比遵循严格的编码实践更为重要。由此看来,学习R语言的编码相对来说更为容易一些,因为它比较直观。分析师/数据科学家在得出影响业务/研究的见解之前,并不总是需要像数据工程师精通编程。

到目前为止,在R代码存储库https://cran.r-project.org/web/ packages/上有15000多个R开源数据相关包。世界各地的R用户都可以免费安装和修改用于研究和工业使用的代码库。这些软件包是由顶尖的研究大学或私人公司开发或捐赠。因此,当R用户将新的包下载到自己的R-studio IDE中时,便已经得到了整个R社区集体智慧的支持。

Python中的著名的数据分析软件包pandas是在R的数据框架结构中创建的。此外,随着该技术的普及,许多与统计相关的软件包也从R迁移到Python。

易于处理

R语言极力消除将人类思维转化为计算代码之间的差距。数据分析人员的便利性被放到了首位,对于Python或javascript这样的通用语言而言,这是不太可能的。对于那些主要关注数据洞察力而不是工程方面的人来说,这种设计理念尤为重要。R中比较流行的名为dplyr的包包含一个管道操作符%>%,它将数据对象传递给函数中的第一个参数。例如,为了获得数据的预览,可以写成CARS%>%HEAD(),而不用写成 head(cars)。当处理涉及多步骤函数组合的数据对象时,使用%>%管道可以使代码读取更为优雅和简单。

这种设计避免了数据分析师处理多个功能的嵌套括号,从而使得代码变得更加直观、易于维护和调试,便于第三方阅读。这种设计的优势可以节省时间和效能,从而提高生产率。

便于统计分析

正如你所知,R也广泛地应用于统计相关的领域。它在统计测试和建模方面的超级便利性,吸引着研究人员不断地使用它。当研究人员有了新的想法时,他们往往会创建新的R包,并在R社区中流通。几十年来,这已经形成了一个非常强大的生态系统,当遇到数据分析问题时,这些问题早已被业界的先驱们彻底地研究过了。对于用户来说,可以大大减少开发时间和人力。这样,数据分析人员便可以绕过技术问题,专注于高层次的洞察力。

会说话的图形

在著名的R数据可视化软件包中,你可能听说过ggplot2,这个包可以生成出色的图形,如:

独家 | 为什么R是数据科学家的必修课?

它还致力于创建图表以获得更好的见解:

独家 | 为什么R是数据科学家的必修课?

除此之外,还可以根据背景和主题、标签和图例以及其他类型的美学进行图形自定义,基于独特的图形语法,R语言提供了最大程度的灵活性。

交互式Web应用程序

在执行数据分析的生命周期中,通过数据分析获得的洞察力往往需要传达给非技术人员、企业领导人或普通公民。最为重要的是:能够直观地显示出高层的洞察力,以便那些没有数据科学背景的典型用户能够解释这些见解,这个任务便落在了Web应用程序上。

Shiny不仅仅是一个支持构建交互式网页的R包,它还允许普通的分析人员像web开发人员那样构建web应用程序,即便数据分析人员在诸如javascript语言上没有任何先验知识。一个shiny应用程序允许应用程序设计人员将可点击的按钮、下拉菜单、滑动条等连接到完全定制的页面上。一旦在shiny中构建出应用框架,数据分析和数据可视化的任务就可以无缝地分配给基础R、ggplot 2、 leaflet、googleVis、maps等。关于更多的细节和有趣的shiny应用程序的例子,请查看gallery画廊。

R机器学习与Python相比较的优势

虽然Python提供了许多通用机器学习包,比如scikit-learn,但它提供的生态系统远比R少得多。scikit-learn包的重点是预测任务,倾向于淡化机器学习的其他重要方面,如推理任务等。举个例子:在营销/销售中做客户分析的许多原则在其他行业中也有效,如风险模型(保险)、生存模型(医疗保健)、产品可靠性模型(制造)、信用违约模型(贷款)等。在这些用例中,预测的准确性、解释模型和理解模型内部工作的可能性都很重要。当数据分析/机器学习方面的资源与如此重要的主题相关时,R生态系统中提供了50多个软件包,致力于生存分析,而Python中相应的资源却不多。

这意味着:对于一个对将机器学习技术应用于特定感兴趣领域的人来说,只精通Python的数据科学家可能需要从头开始使用Scikit-Learning。但是, R数据科学家可以得到来自多个软件包的隐性支持,这些软件包均为经过几十年的研究,为特定用例量身定制的算法。

交互式文档-R标记

最后要提到一点是,R markdown文件格式同样有助于非技术控用户。好的想法会层出不穷,.rmd文件接管了格式化任务,帮助Word-员工更多地集中在内容上。对科学研究人员和操作人员来说,.rmd文件同样支持LaTex格式,可以轻松地键入科学公式、轻松地插入的链接和图片,灵活编辑不同类型文档、论文、新闻报道和其他风格类型的文稿。信不信?这个PDF文档实际上是由Rmarkdown文件生成的。

代码可读性和GitHub接口将为R语言增值加分, R语言未被设计为以速度/性能为中心的语言,所以R在处理大型数据集或处理资源密集型任务方面不如Python强大。精通Python和R两种语言的数据科学家可以利用每种语言的独特优势和相应的包来支持其业务需求中的不同用例。

总之,R的选择取决于统计分析和部署之间的任务目标,以及时间投资的数量。掌握R和Python的智能数据科学家会利用每种语言的优势,更为高效地组合他们的强势。

作者简介

独家 | 为什么R是数据科学家的必修课?

Aiko Liu

刘爱子

刘爱子在台湾出生和长大。大学毕业后,来到美国求学,获得哈佛大学博士学位,主修几何。在几所顶尖的研究型大学做了多年的研究之后,他改变了思路...

独家 | 为什么R是数据科学家的必修课?

Hanqing Zhang

张汉卿

纽约数据科学学院的R数据分析讲师,获得美国印第安纳大学布鲁明顿学硕士,普渡大学教育学硕士。

独家 | 为什么R是数据科学家的必修课?

Pranjali Galgali

帕兰贾利·加尔加里

Pranjali Galgali是纽约数据科学学院的营销和通信助理,获得罗格斯大学的数字媒体和战略传播硕士学位,喜欢从事数据科学相关的阅读和写作,对未来新技术有着浓厚的兴趣,并喜欢采访...

编辑:王菁

校对:林亦霖

译者简介

独家 | 为什么R是数据科学家的必修课?

陈之炎,北京交通大学通信与控制工程专业毕业,获得工学硕士学位,历任长城计算机软件与系统公司工程师,大唐微电子公司工程师,现任北京吾译超群科技有限公司技术支持。目前从事智能化翻译教学系统的运营和维护,在人工智能深度学习和自然语言处理(NLP)方面积累有一定的经验。业余时间喜爱翻译创作,翻译作品主要有:IEC-ISO 7816、伊拉克石油工程项目、新财税主义宣言等等,其中中译英作品“新财税主义宣言”在GLOBAL TIMES正式发表。能够利用业余时间加入到THU 数据派平台的翻译志愿者小组,希望能和大家一起交流分享,共同进步。

翻译组招募信息

工作内容:需要一颗细致的心,将选取好的外文文章翻译成流畅的中文。如果你是数据科学/统计学/计算机类的留学生,或在海外从事相关工作,或对自己外语水平有信心的朋友欢迎加入翻译小组。

你能得到:定期的翻译培训提高志愿者的翻译水平,提高对于数据科学前沿的认知,海外的朋友可以和国内技术应用发展保持联系,THU数据派产学研的背景为志愿者带来好的发展机遇。

其他福利:来自于名企的数据科学工作者,北大清华以及海外等名校学生他们都将成为你在翻译小组的伙伴。

点击文末“阅读原文”加入数据派团队~

转载须知

如需转载,请在开篇显著位置注明作者和出处(转自:数据派ID:datapi),并在文章结尾放置数据派醒目二维码。有原创标识文章,请发送【文章名称-待授权公众号名称及ID】至联系邮箱,申请白名单授权并按要求编辑。

发布后请将链接反馈至联系邮箱(见下方)。未经许可的转载以及改编者,我们将依法追究其法律责任。

独家 | 为什么R是数据科学家的必修课?

点击“阅读原文”拥抱组织