一种工具在它能够发挥足够大用处的时候,必然会有很大的进步和改良。

一直以来,互联网最公平的地方就在于,不问出身,不看出处,只要你掌握了一门技术,就能在这个行业过得不错。说到技术首先会想到程序员,天书一般的编程语言 @#¥%&*……,而现今,编程语言早已不是程序员的专利,分析师、设计师一样需要有所掌握甚至熟练应用。今天我们就来聊聊专为数据分析而生的语言,R。

最值得学习的编程语言——R语言

  • R 语言的前世今生

R语言第一次出席在1996年,那时候统计学教授 Ross Ihaka 和奥克兰大学的 Robert Gentleman 教授以免费软件包的形式发布了这个代码。

他们说,开发 R 语言的想法是他们在过道上交谈时产生的。他们都想要更适合统计学学生的技术,因为他们需要分析数据并作出信息的图形模型。很多类似的软件都是计算机科学家开发的,很难用。

教授们说,他们没有接受过高级的计算机科学方向的训练,因此他们写程序充其量算是个学术游戏。然而,从1991年开始他们就把全部时间花在了R语言上。Gentleman 教授说:“我们这五六年可以说是分不开,一个人负责打字,另一个人就负责思考。”

Ross and Robert

Ross 和 Robert

有些统计师认为这个软件的雏形很粗糙。但即使 R 语言有众多的缺点,它还是立刻吸引了预见到未来定制这个免费软件的大批追随者。

一直以来,R还是在小众领域成长着,最早也只有统计学家在用,主要用  R 来代替 SAS 做统计计算。时代在进步,随着大数据的爆发,R 终于在这一波浪潮中,被工业界所发现。然后,有越来越多的工程背景的人加入到这个圈子,对 R 计算引擎,R 的性能,R 的各种程序包进行改进和升级,让 R 获得了新生。

我们现在用到的 R 语言软件,已经越来越接近工业软件的标准了。由工程师推动的 R 的发展速度,远远地超过了由统计学家推动的步伐。随着人们对数据分析要求的进一步增加,R会以更快的脚步继续发展,将成为免费的、开源的、数据分析软件的代名词。

这也说明了,一种工具在它能够发挥足够大用处的时候,必然会有很大的进步和改良。

142124851368bb6037b3d76b39

  • R 语言为什么会有这么多追随者?

-开源 & 免费
R语言是开源软件,免费。它的流行反映了当下公司里会使用的软件的类型转变。任何人都能免费使用和修改开源软件。IBM,惠普和戴尔每年卖运行开源的 Linux 操作系统的服务器能赚几十亿,并以此与 Windows 的 Microsoft 系统竞争。大多数的网站都使用开源应用软件阿帕奇,越来越多的公司依靠开源的 MySQL 数据库存储他们的重要信息。很多人用火狐网页浏览器阅读这些技术的成果,同样的,火狐也是开源软件。

相比于SAS 昂贵的价格,R 的这一点显得很亲民。对于许多小型创业公司来讲是无疑是很有优势的一点。

-站在巨人的肩膀上
为什么 R 语言有如此广大的一批追随者?要知道,数据分析师这个职业在学校是找不到对应的专业的,唯一算是“专业”对口应该就是统计学和计算机专业的同学了。对于缺乏电脑编程技能的数据分析师来说,R 语言无疑是最容易上手使用的。

“R 语言非常重要,因为很难高估它。”他是谷歌的研究科学家 Daryl Pregibon 这样评价这个软件。他说:“统计师们不需要深度掌握计算机系统,就能够使用R语言做出复杂精细的分析。

R语言类似于诸如 C,Java,Perl 一类的程序语言,因为它允许人们使用各种不同的指令,来完成很多种类的计算任务。然而对数据分析师来说,R 尤其的有用,因为它内置了大量模板,用来处理数据,根据信息进行计算,或是用图表表示数据集合。

-方便调整和改良
R语言非常好用,而且很快就被广泛接受了,这是因为使用者可以改进软件的代码,或者为某些特殊的任务改代码。R语言的包里有高级算法,有色有界面的图表,和数据挖掘技术,这样可以在数据库中挖掘的更深。
这对于今天数据挖掘分析越来越多元化的需要来讲,这个又是无疑会深受数据分析师们的青睐。

除此之外,R 语言还具备数据可视化的优势,可以做出灵活漂亮的图;各个平台兼容性好,运行流畅;小巧玲珑,安装程序只有50M左右,非常轻量级。

那么如何学习 R 语言,方法是共通的,Mactalk 的池老师在曾在他的博客撰写了许多关于如何学习一门编程语言的文章,整理编辑一下给大家作为参考。

  • 如何学好一门编程语言?

geek-modern-life

-step1:要有一个方向,
搞清楚自己为什么要学习编程语言,准备学习哪门语言,要学到什么程度,想用多长时间等等,自己需要一个大概的思路和计划。

-step2:找到好的教程:
找有经验的人进行推荐,或者上一些网站看看大家的评价,推荐豆瓣读书 or 知乎。

step3:掌握基础,持续练习
了解语言的基础运行环境、数据类型、表达式、函数、流程控制、类、方法等等,每天至少保持两个小时的阅读和练习不间断。

step 4:学会使用 Google
技术问题的话,还是少用百度吧。怎么用的话看这个帖子:如何用好 Google 等搜索引擎?

-step5:用好工具
编程工具大致分为三种:第一种是部分程序语言自带的 shell,第二种是文本编辑器,第三种是集成开发环境(IDE)。

– step6:找到自己的老师,不耻下问

-step7:参加社区和技术会议
多混技术社区交流总是有好处的,以及参加优秀的行业会议,了解趋势。

-step8 :Practice make perfect
First do it,then do it right,then do it better.

作为数据分析师的造物之器,掌握一到两门语言已经成为一名分析师的标配,尤其是在大数据时代到来之后,R 语言以其强大的功能和免费开源的特色深受广大人民群众喜爱,是最值得学习的编程语言之一。

本期的 HackTool 介绍了数据分析最值得学习的一门编程语言 R,下期还将介绍数据分析师们的另外一件造物之器,敬请期待。

参考资料:

如何学习一门编程语言 http://macshuo.com/?p=703 

开源软件R语言成为数据分析师新宠 http://www.dataguru.cn/thread-174048-1-1.html 

如何学好一门编程语言技巧方法一粒 https://ruby-china.org/topics/17505

R是最值得学习的编程语言 http://blog.fens.me/tag/ideal/


工欲善其事,必先利其器”。工具是一个使用过程,而不仅仅只是一件事物;好的工具为利器,同样也是好伴侣。在上期介绍过公众号运营者们抗干扰神器 即刻和Bose QC35 后,本期介绍了数据分析师们的分析工具,下期 ONES.AI 将继续为你带来更多造物者所用的【造物之器】。

【关于ONES.AI】
ONES.AI 正在为年轻一代的团队打造一套「专业」的项目管理工具,我们关注「交互体验」、「定制能力」、「开放数据」。我们将帮助管理者和所有成员制定「目标」,推进项目完成。

从现在开始订阅 ONES.AI:
邮件订阅:http://ones.ai
微信订阅:ONES.AI
知乎专栏:https://zhuanlan.zhihu.com/BangWorkHQ
简书订阅:>>>