什么是 R 编程语言?R 简介和基础知识

什么是 R 软件?

R 是一种编程语言和免费软件,由 Ross Ihaka 和 Robert Gentleman 于 1993 年开发。R 拥有广泛的统计和图形方法目录。它包括机器学习算法、线性回归、时间序列、统计推断等等。大多数 R 库都是用 R 编写的,但对于繁重的计算任务,C、 C++ 和 Fortran 个代码为佳。

R不仅受到学术界的委托,许多大公司也使用R编程语言,包括Uber、Google、Airbnb、Facebook等。

使用 R 进行数据分析需要经过一系列步骤:编程、转换、发现、建模和传达结果

  • 教学计划:R 是一个清晰易用的编程工具
  • 改造:R 由一系列专为数据科学设计的库组成
  • 探索:调查数据,完善假设并进行分析
  • 型号:R 提供了各种各样的工具来为你的数据获取正确的模型
  • 沟通联系:使用 R Markdown 将代码、图表和输出集成到报告中,或构建 Shiny 应用程序与世界分享

R 用于什么?

  • 统计推断
  • 数据分析
  • 机器学习算法

R 按行业

如果我们按行业细分 R 的使用情况,我们会发现学术界是第一位的。R 是一种统计语言。R 是医疗行业的首选,其次是政府和咨询业。

R 按行业

R包

R 的主要用途是统计、可视化和机器学习,并且将永远如此。下图显示了哪个 R 包在 Stack Overflow 上收到的问题最多。在前 10 个问题中,大多数问题与数据科学家的工作流程有关:数据准备和传达结果。

R 包

R 的所有库(近 12k)都存储在 CRAN 中。CRAN 是免费开源的。您可以下载并使用众多库来执行 机器学习 或时间序列分析。

R 包

与 R 通信

R 有多种方式来展示和分享工作成果,既可以通过 markdown 文档,也可以通过 shiny 应用程序。所有内容都可以托管在 Rpub、GitHub 或企业网站上。

以下是在 共和党

与 R 通信

Rstudio 接受 markdown 来编写文档。您可以以不同的格式导出文档:

  • 文档 :
    • HTML
    • PDF/乳胶
    • Word
  • 企业介绍
    • HTML
    • PDF 投影机

与 R 通信

Rstudio 有一个很棒的工具,可以轻松创建应用程序。下面是一个包含世界银行数据的应用程序示例。

与 R 通信

为什么使用 R?

数据科学正在塑造公司经营业务的方式。毫无疑问,远离人工智能和机器将导致公司失败。最大的问题是你应该使用哪种工具/语言?

市场上有很多可用于执行数据分析的工具。学习一门新语言需要投入一些时间。下图描绘了学习曲线与语言提供的业务能力的对比。负相关意味着没有免费的午餐。如果你想从数据中获得最好的洞察力,那么你需要花一些时间学习合适的工具,即 R。

数据科学商业能力评级

在图表的左上角,你可以看到 Excel 和 PowerBI。这两个工具学习起来很简单,但业务能力并不突出,尤其是在建模方面。在中间,你可以看到 Python 和 SAS。SAS 是专门用于商业统计分析的工具,但它不是免费的。SAS 是一款点击即可运行的软件。 Python然而,是一种学习曲线单调的语言。 Python 是部署机器学习和人工智能的绝佳工具,但缺乏通信功能。由于学习曲线相同,R 在实施和数据分析之间取得了良好的平衡。

当谈到数据可视化时(数据Viz),您可能听说过 Tableau。毫无疑问,Tableau 是一款通过图形和图表发现模式的绝佳工具。此外,学习 Tableau 并不耗时。数据可视化的一个大问题是,您可能最终找不到模式,或者只是创建大量无用的图表。Tableau 是快速可视化数据或商业智能的好工具。当谈到统计和决策工具时,R 更合适。

Stack Overflow 是一个大型编程语言社区。如果您遇到编码问题或需要了解模型,Stack Overflow 可以为您提供帮助。在过去一年中,与其他语言相比,R 的问题浏览量百分比急剧增加。这一趋势当然与数据科学的蓬勃发展高度相关,但它反映了 R 语言对数据科学的需求。

Stack Overflow 流量

在数据科学中,有两种工具相互竞争。R 和 Python 可能是定义数据科学的编程语言。

你应该选择 R 吗?

数据科学家可以使用两个优秀的工具:R 和 Python。你可能没有时间同时学习它们,特别是如果你刚开始学习数据科学。 学习统计建模和算法 比学习一门编程语言更重要。 编程语言 是一种计算和传达你的发现的工具。数据科学中最重要的任务是你处理数据的方式:导入、清理、准备、特征工程、特征选择。这应该是你的主要关注点。如果你想学习 R 和 Python 同时,如果没有扎实的统计学背景,那么这简直是愚蠢的。数据科学家不是程序员。他们的工作是理解数据,操纵数据并揭示最佳方法。如果你正在考虑学习哪种语言,让我们看看哪种语言最适合你。

数据科学的主要受众是商业专业人士。在商业领域,一个重要的含义就是沟通。沟通的方式有很多种:报告、Web 应用程序、仪表板。你需要一个可以同时完成所有这些工作的工具。

R 难吗?

几年前,R 是一种难以掌握的语言。该语言令人困惑,而且不像其他编程工具那样结构化。为了克服这个主要问题,Hadley Wickham 开发了一个名为 tidyverse 的软件包集合。游戏规则发生了变化。数据操作变得简单而直观。创建图表不再那么困难。

机器学习的最佳算法可以用 R 来实现。Keras 和 TensorFlow 等软件包允许创建高端机器学习技术。R 还有一个用于执行 Xgboost 的软件包,这是 Kaggle 竞赛的最佳算法之一。

R 可以与其他语言进行通信。可以调用 Python, Java, C++ 在 R 中。大数据世界也可以通过 R 访问。你可以将 R 与不同的数据库连接起来,例如 Spark 或 Hadoop。

最后,R 已经发展并允许并行操作来加速计算。事实上,R 因一次只使用一个 CPU 而受到批评。并行包允许您在机器的不同核心中执行任务。

总结

简而言之,R 是探索和研究数据的绝佳工具。使用 R 可以完成聚类、相关性和数据缩减等精细分析。这是最关键的部分,如果没有良好的特征工程和模型,机器学习的部署将不会产生有意义的结果。