收官之战!来看看QCon 上海 2023 大会确认了哪些专家和话题>>> 了解详情
写点什么

云时代,编程语言选 R 还是 Python?

  • 2021-06-07
  • 本文字数:2080 字

    阅读完需:约 7 分钟

云时代,编程语言选R还是Python?

本文最初发布于 analyticsvidhya.com 网站,经原作者授权由 InfoQ 中文站翻译并分享。


人类都需要氧气才能生存。但请想一想,我们有几个人为了保护这种生命之源而采取措施来守护自然呢?如今,大自然用一种看不见的病毒 Covid-19 让全世界都意识到了氧气的重要性,因为这种病毒大幅增加了全球医疗领域对氧气的需求。因此,保护​​自然的行为(例如种植树苗等)是我们的宝贵责任,这不仅是为了社会,也是为了我们自己。



就像拯救生命的氧气一样,在技术领域中拯救行业的资产是数据。全球范围内生成的数据量每天都高速增长。科技行业对从数据中获取和挖掘有价值的,有助于业务增长的见解表现出了极大的兴趣。众所周知,数据集中的数据量往往很大。因此,我们不可能像以前那么快地手动处理如此大量的数据,迅速从中获取有价值的见解。因此,行业专家需要新的技术工具来处理这些数据。在数百种技术工具中,R 和 Python 这两项技术一直在云世界中针锋相对。


在本文中,我们将从数据科学的角度讨论这两种编程语言在处理数据方面的利弊。

R vs Python:为什么会引起争议?


总体而言,从初学者到专业级别,Python 和 R 都是数据科学学习者最喜欢的编程语言。两种编程语言有诸多相似之处,都有着很好的表现。


  • 两者都是在 1990 年代初期创建的

  • 由于它们是开源编程语言,因此任何人都可以轻松免费下载和访问它们

  • 它们具有大量的库和专用算法函数,可以处理和解决数据科学和数据分析问题

  • 与 SAS、SPSS、MATLAB 等其他数据分析工具一样,它们在成本和解决复杂问题方面都不会给用户施加限制

  • 两者都提供了对用户友好的工作体验,即使非程序员也很容易理解和掌握

  • 在处理数据科学、机器学习、深度学习、人工智能等领域的问题时,两种工具都时常引入很多新的发明和改进


也就是说,看起来这两种工具不分伯仲,这就是 R 与 Python 引起争议的原因所在。我们再来简单了解一番,更好地理解这一点。

Python 和 R 简介

Python

Python 于 1991 年首次发布,最初由 Guido van Rossum 设计。由于它是一种面向对象的编程语言,因此也称为通用编程语言。它秉承一种强调代码可读性和效率的理念。



如果程序员和技术领域的人们希望将数学和统计知识很好地应用在数据科学领域,那么 python 会是他们的最佳合作伙伴。因此,对于大多数数据科学学习者而言,这是最可取和最受欢迎的编程语言选项。


它有很多专用于机器学习和深度学习的库,这些库都包含在它的库包索引 PyPI 中。这些库的文档也可以在其官方站点上以 Python 文档格式获取。

R

Ross Ihaka 和 Robert Gentleman 是 R 的最初创建者。R 最初于 1993 年发布,是 S 编程语言的一种实现。这种编程语言设计宗旨是在数据分析、统计方法和可视化领域输出有效的结果。



对于数据分析技术来说,R 有着非常富饶的生态。与 python 类似,它在 Composite R Archive Network(CRAN)中有大约 13000 个专门用于深度分析的库包。


它在学者和研究人员中最受欢迎。使用 R 语言中开发的大多数知名项目数都是研究类型的。人们通常使用 R 自己的,称为 R Studio 的集成开发环境(IDE)中使用 R,以获得更好的用户友好体验。

哪款工具更好呢?

人们选择某种编程语言的原因对于 Python 和 R 来说也都是适用的。因此在这两者之间做出选择时需要更为谨慎。在 R 和 Python 中挑选适合自己的选项时,请考虑你所在领域的性质和自己偏好的风格。



如果你的工作性质涉及更多的一般用途代码且研究范围较小,则应该首选 Python;如果你的工作目的涉及研究和概念过程,则应选择 R。Python 是适合程序员的语言,而 R 是适合学者和研究人员的语言。


一切都取决于你的兴趣和背后的热情。一方面来说,python 代码易于理解,并且通常能够执行更多的数据科学任务;另一方面,R 代码使用基本的学术语言,易于学习,并且是可视化数据分析工具的最佳选项。

关键区别




该用哪个?

具体用哪个取决于用户的需求。就 python 而言,它是满足机器学习、深度学习、数据科学和部署需求的最佳工具。它也有用于数学、统计、时间序列等用途的库,但是在商业分析、经济指标、研究类需求方面往往表现不佳。它是生产就绪的语言,因为它可以把我们所有的工作流集成为一个单独的工具。



至于 R,它是满足统计分析和研究需求的最佳工具,具有更高的准确度。这种编程语言中的大多数软件包都是由学者和研究人员创建的,这是额外的优势。因此,它更适合满足统计学家的需求,而非来自计算机背景的用户的需求。不过它也拥有用于数据科学和机器学习的一些很出色的库。毫无疑问,它在探索性数据分析和可视化方面比 python 高出一等。

结论


总体而言,两种编程语言都有类似的优缺点。综合看来,在 Python 和 R 之间做出选择主要基于以下几点:


  • 你的工作主题是什么?

  • 你同事的编程知识如何?

  • 你的工期有多长?

  • 最后是你对哪个领域感兴趣?

作者的话:


Shankar DK(数据科学专业学生):


尊敬的读者,从本文中,我希望你至少应该了解一些如何根据需要在 Python 和 R 之间做出选择的知识。有关进一步的说明和建议,请在 LinkedIn(https://www.linkedin.com/in/shankar-d-k-03470b1a2)上联系我。我请你分享对本文的宝贵意见,这会对我今后的工作有所助益。


原文链接:


https://www.analyticsvidhya.com/blog/2021/05/r-or-python-reasons-behind-this-cloud-war/

2021-06-07 11:155024
用户头像
刘燕 InfoQ高级技术编辑

发布了 1112 篇内容, 共 473.3 次阅读, 收获喜欢 1954 次。

关注

评论

发布
暂无评论
发现更多内容

机器学习笔记之:Matrix Matrix Multiplication

Nydia

即使技术再精,面试时一问这个必挂!!

冰河

面试 类加载器 我要进大厂 Java类加载

婚恋交友软件开发

luluhulian

股票配资系统开发

v16629866266

驱动力读书笔记之四

张老蔫

28天写作

大作业2-知识总结

arcyao

复盘银行的区块链实践:从分布式账本,到产业数字化

CECBC

大数据 银行

史上最全的技术手册整理总结,编程小白都从这篇文章迅速成为大牛

孙叫兽

Java 大前端 技术手册 开发文档

让人“眼前一亮、不明觉厉”的互联网技术PPT

不脱发的程序猿

程序人生 PPT 2月春节不断更 互联网技术PPT 互联网工具

期末大作业二

心在那片海

2 期架构师训练营 - 大作业(二)

Vicente

架构师训练营第2期

重磅发布 | 2021年OpenAtom XuperChain开源技术路径

开放原子开源基金会

区块链 百度 开源 开放原子开源基金会

产品 0 期 - 第四周作业

vipyinzhiwei

大作业1-同城快递业务系统设计

arcyao

期末大作业一

心在那片海

探寻内部类的奥秘(上)

后台技术汇

2月春节不断更

使用APICloud敏捷式开发总结,回顾开发一个完整APP过程。

孙叫兽

App 开发 APICloud 引航计划

话题讨论 |互联网软件技术培训,靠谱吗?

不脱发的程序猿

程序员 程序人生 话题讨论 互联网培训 技术培训

“五年饮冰,难凉热血”,一名专科生的求学历程

不脱发的程序猿

程序人生 心路历程 2月春节不断更 大学总结 2020年度总结

如何制作和使用自签名证书

soulteary

Docker SSL证书

学习总结之HTML5剑指前端(建议收藏,图文并茂)

我是哪吒

学习 程序员 面试 大前端 2月春节不断更

Elasticsearch multi-index 搜索

escray

elastic 七日更 死磕Elasticsearch 60天通过Elastic认证考试 2月春节不断更

Python实现钉钉/企业微信自动打卡

sum56

Python python 爬虫 打卡

2020年末总结,脚踏实地,一步一个脚印——致敬自己一年的心酸历程

孙叫兽

孙叫兽 年度报告 引航计划

从零开始学Android!15个经典面试问题及回答思路,这原因我服了

欢喜学安卓

android 程序员 面试 移动开发

什么是防火墙?

程序员养家活口接私活必备网站(顺便用技术改变世界)

孙叫兽

程序员 网站 私活

百度网盘限速解决方案

孙叫兽

解决方案 百度网盘 限速

阿里架构师经验分享!写给互联网大厂员工的真心话,最全的BAT大厂面试题整理

欢喜学安卓

android 程序员 面试 移动开发

Linux Lab 进阶: Uboot 引导程序

贾献华

Linux bootloader Linux Kenel boot

OpenCV简介及其工程应用-游戏色块检测

行者AI

OpenCV

  • 扫码添加小助手
    领取最新资料包
云时代,编程语言选R还是Python?_AI_SHANKAR DK_InfoQ精选文章