R vs Python – 它们之间的区别
R 和 Python 的主要区别
- R 主要用于统计分析,而 Python 为数据科学提供了更通用的方法
- R 的主要目标是数据分析和统计,而 Python 的主要目标是部署和生产
- R 用户主要包括学者和研发人员,而 Python 用户主要是程序员和开发人员
- R 提供了使用可用库的灵活性,而 Python 提供了从头开始构建新模型的灵活性
- R 在开始时很难学习,而 Python 则线性且平滑地学习
- R 集成在本地运行,而 Python 与应用程序集成良好
- R 和 Python 都可以处理大量数据库
- R 可以用于 R Studio IDE,而 Python 可以用于 Spyder 和 Ipython Notebook IDE
- R 包含各种包和库,如 tidyverse、ggplot2、caret、zoo,而 Python 包含 pandas、scipy、scikit-learn、TensorFlow、caret 等包和库
R 和 Python 都是开源编程语言,拥有庞大的社区。新库或工具不断添加到它们各自的目录中。 R 主要用于统计分析,而 Python 为数据科学提供了更通用的方法。
R 和 Python 在面向数据科学的编程语言方面都处于领先地位。学习它们两者当然是理想的解决方案。R 和 Python 需要时间和精力投入,而并非每个人都有这样的奢侈。Python 是一种通用的、具有可读语法的语言。然而,R 是由统计学家构建的,并包含了他们特定的语言。
回车符
学者和统计学家花了二十多年时间开发 R。R 现在拥有最丰富的生态系统来执行数据分析。CRAN(开源存储库)中有大约 12000 个包。你可以找到一个库来执行你想要进行的任何分析。丰富的库种类使 R 成为统计分析的首选,尤其是在专业分析工作方面。
R 和其他统计产品之间的关键区别在于输出。R 拥有出色的工具来传达结果。Rstudio 附带 knitr 库。Xie Yihui 编写了这个包。他让报告变得轻而易举且优雅。通过演示文稿或文档传达发现很容易。
Python
Python 可以处理与 R 几乎相同的任务:数据整理、工程、特征选择、网络抓取、应用程序等等。Python 是大规模部署和实现机器学习的工具。Python 代码比 R 更易于维护,也更健壮。几年前,Python 没有多少数据分析和机器学习库。最近,Python 正在追赶,并为机器学习或人工智能提供了尖端的 API。大多数数据科学工作都可以通过五个 Python 库来完成:Numpy、Pandas、Scipy、Scikit-learn 和 Seaborn。
另一方面,Python 比 R 更容易实现可复制性和可访问性。事实上,如果你需要在应用程序或网站中使用分析结果,Python 是最佳选择。
流行度指数
IEEE Spectrum 排名是量化编程语言流行度的指标。左侧列显示了 2017 年的排名,右侧列显示了 2016 年的排名。2017 年,Python 排名第一,而一年前排名第三。R 排名第六。
工作机会
下图显示了与数据科学相关的编程语言工作数量。 SQL 遥遥领先,其次是 Python 和 Java。R 排名第五。
如果我们关注 Python(黄色)和 R(蓝色)的长期趋势,我们可以看到 Python 在工作描述中比 R 被引用的次数更多。
R 和 Python 完成的分析
然而,如果我们看数据分析工作,R 是迄今为止最好的工具。
切换百分比
下图中有两个关键点。
- Python 用户比 R 用户更忠诚
- R 用户转向 Python 的百分比是 Python 转向 R 的两倍。
R 和 Python 之间的区别
参数 | 回车符 | Python |
---|---|---|
目标 | 数据分析和统计 | 部署和生产 |
主要用户 | 学者和研发 | 程序员和开发人员 |
灵活性 | 易于使用现有库 | 易于从头开始构建新模型。即,矩阵计算和优化 |
学习曲线 | 起初很难 | 线性且平滑 |
编程语言的流行度。百分比变化 | 2018 年为 4.23% | 2018 年为 21.69% |
平均工资 | $99.000 | $100.000 |
集成 | 本地运行 | 与应用程序集成良好 |
任务 | 易于获得主要结果 | 适合部署算法 |
数据库大小 | 处理海量数据 | 处理海量数据 |
集成开发环境 (IDE) | Rstudio | Spyder, Ipython Notebook |
重要的包和库 | tidyverse, ggplot2, caret, zoo | pandas, scipy, scikit-learn, TensorFlow, caret |
缺点 | 慢 高学习曲线 库之间的依赖关系 |
库不如 R 多 |
优点 |
|
|
R 或 Python 的使用
Python 由计算机专家 Guido van Rossum 于 1991 年左右开发。Python 对数学、统计和人工智能拥有有影响力的库。你可以将 Python 视为机器学习领域的纯粹玩家。然而,Python 在计量经济学和沟通方面(尚未)完全成熟。Python 是机器学习集成和部署的最佳工具,但不适合业务分析。
好消息是 R 是由学者和科学家开发的。它旨在解决统计问题、机器学习和数据科学。R 是数据科学的正确工具,因为它拥有强大的沟通库。此外,R 配备了许多用于时间序列分析、面板数据和数据挖掘的包。最重要的是,没有比 R 更好的工具了。
在我们看来,如果你是数据科学的初学者,并且具备必要的统计学基础,你需要问自己以下两个问题:
- 我想了解算法是如何工作的吗?
- 我想部署模型吗?
如果这两个问题的答案都是肯定的,你可能应该先学习 Python。一方面,Python 包含了强大的库来处理矩阵或编写算法。作为初学者,从头开始构建模型然后切换到机器学习库中的函数可能会更容易。另一方面,你已经了解了算法或想立即进行数据分析,那么 R 和 Python 都可以作为开始。如果你要专注于统计方法,R 有一个优势。
其次,如果你想做比统计更多的事情,比如部署和可重复性,Python 是更好的选择。如果你需要写报告和创建仪表板,R 更适合你的工作。
总而言之,R 和 Python 之间的统计差距正在缩小。大多数工作都可以通过这两种语言完成。你应该选择最适合你需求的那一个,也要选择你的同事使用的工具。当你们都说同一种语言时会更好。掌握了第一门编程语言后,学习第二门就会更简单。
结论
最终,R 或 Python 的选择取决于:
- 你任务的目标:统计分析或部署
- 你可以投入的时间
- 你的公司/行业最常用的工具