为什么要学习R语言

Python013

为什么要学习R语言,第1张

刚开始学习数据科学的人都会面对同一个问题:不知道该先学习哪种编程语言

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

事实是,你的时间有限。学习一门新的编程语言相当于一项巨大的投资,因此在选择语言时需要有战略性。很明显,一些语言会给你的投资带来很高的回报(付出的时间和金钱投资)。然而其他语言可能是你每年只用几次的纯粹辅助工具。

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

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

这并不是说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语言

R 发布于 1995 年,是 S 语言的一个分支,开源。目前由 R Foundation for Statistical Computing 提供技术支持。优点:免费、开源,各种功能和函数琳琅满目专门为统计和数据分析开发的语言,即使基础安装也包含全面的统计功能和方法数据可视化缺点:性能,R 作为解释型语言,运行效率并不高R 在统计学的表现很出色,但并不适用于通用编程Package 的可靠性问题小结: R 语言在统计和数据可视化方面非常强大,并且开源让它聚集了一帮活跃的贡献者,不过由于开发者良莠不齐,导致 Package 的可靠性方面会有点问题Python

Guido van Rossum 在 1991 年推出 Python,开源。Python 广泛用于数据科学领域,目前主要的版本是 3.6 和 2.7 。优点:Python 是一门主流编程语言,有着广泛的在线支持入门友好,易于学习有诸如 pandas , scikit-learn 和 Tensorflow 这样优秀的 package缺点:Python 作为动态语言,比 Java 还慢,而且容易出现类型错误对于特定的统计或数据分析,R 的封装会比 Python 更轻松而在通用性方面,也有比 Python 更好的替代方案小结: Python 是数据科学中很好的选择,而且,Google 的 TensorFlow 使得机器学习框架都偏向于PythonSQL