数据科学界有三大宝: Python、SAS和R,不过像SAS这种高端物种,不是我们这些平民能供养得起的啊。

根据 IEEE Spectrum的最新排名,R和Python仍然是最热门的数据科学编程语言。本文将从数据可视化、建模库、易学性和社区支持等四方面入手,比较R和Python的语言性能。

数据可视化

数据科学的一个重要部分是交流。分析成果需要以一种有效、易懂的方式展示出来。因此,任何用于数据科学的语言或软件包都应该具有良好的数据可视化工具。良好的数据可视化具有清晰性。无论模型有多复杂,都会用一种简单明了的方法来说明结果,即使是外行人也能理解。

Python

Python以其大量的库而闻名。有很多库可以用于绘图和可视化。最热门的库是matplotlib和seaborn。matplotlib库改编自MATLAB,具有相似的特性和风格。matplotlib库是一个非常强大的可视化工具,内置了各种功能,特别是在与其他Python数据科学库pandas和numpy很好地协作时,它可以非常容易地用于绘制简单的plot函数。

虽然matplotlib可以生成大量的图形和图表,但它缺乏简单性。最麻烦的方面是调整plot函数的大小:如果存在很多变量,那么你可能会花费很多功夫来试图把它们整齐地放在一个plot函数中。另一个大问题是创建subplot函数,同样,将它们都调整到一个图中可能会变得很复杂。

现在,基于matplotlib的seaborn包含了更多的美学图形和plot函数。这个库无疑是对matplotlib陈旧风格的改进,但它仍然存在同样的基本问题:创建图形可能非常复杂。这也是Python未来的改进方向。

R

有许多库可以用于R的数据可视化,其中ggplot2在使用和广泛度方面首屈一指。该库使用图形哲学语法,使用图层在绘图上绘制对象。层之间通常是相互连接的,并且可以共享许多共同的特性。这些层让你可以用很少的代码创建非常复杂的图。该库允许绘制摘要函数。综上,ggplot2比matplotlib更加灵活简洁,因此在这个领域R优势更为明显。

但是,值得注意的是,Python包含了一个与R中原始ggplot2功能类似的ggplot库。

建模库

数据科学需要使用许多算法。这些复杂的数学方法需要稳健的计算。重新编写算法代码对数据科学家而言相当费时,他们需要具有内置建模支持的语言。Python和R刚好满足这一点。

Python

Python拥有大量的机器学习库,包括scikit-learn、XGboost、TensorFlow、Keras和PyTorch等。Python也有pandas,它可以兼容表格形式的数据。pandas库使处理csv或基于excel的数据变得非常容易。除此之外,Python还有很优秀的科学软件包,比如numpy。numpy可以帮助你瞬间完成复杂的数学计算,比如矩阵运算。所有这些包组合在一起,使Python成为一个适用于硬核建模的强大工具。

R

和Python一样,R也有大量的库——大约10000个。其中应用最广泛的是mice,rpart, party和caret。这些包将从预建模阶段到后模型/优化阶段给予你帮助。

这些库几乎可以解决所有的数据问题。但相比之下,Python缺乏统计非线性回归(除了简单的曲线拟合)和混合效应模型。另一方面,R缺乏Python所提供的速度,尤其是在处理大量数据的时候。

易学性

市场对数据分析和处理人员的渴求度相当高。许多人都希望加入数据科学的大潮,其中很多人几乎没有编程经验。因此,在比较两种语言时,需要考虑其是否简单好学易上手。

Python

Python设计于1989年,其理念是强调代码的可读性和使编程变得简单或简洁,Python的设计者显然做到了,因为这种语言非常容易学习。虽然Python的语法灵感来自于C,但与C不同的是,它并不复杂。因此,Python作为初学者的语言学习首选,任何人都可以在相对较短的时间内学会它。

R

R语言也并不难学。它比c++或JavaScript等许多语言都要简单。与Python一样,R的大部分语法都是基于C的,但与Python不同的是,R最初是专门为统计学家和科学家设计的,因此门槛较高。

社区支持

作为一名数据科学家,需要经常解决一些数据难题。在难以找到相关的库或包解决问题的情况下,可以在语言的官方文档或在线社区论坛中搜索,从而获得良好的社区支持。

这两种语言都有活跃的Stackoverflow成员,并且都有一个活跃的邮件列表(在这个列表中,你可以轻松地向专家询问解决方案)。R有在线的R文档,可以在其中找到关于某些函数和函数输入的信息。大多数Python库,比如pandas和scikit-learn,都有自己的官方在线文档来解释每个库。

这两种语言都有大量的用户基础,二者都有非常活跃的支持社区。不难看出,两者在这方面似乎是平等的。

结论

R还是Python?无疑,这两种都是很优秀的语言。如果追求简单上手,可以选择Python,如果想轻松创建视觉效果,那么R语言是首选。

r语言 plot_R和Python的特点对比,这样你就知道该怎么选择了相关推荐

  1. 2020互联网数据分析师教程视频 统计学分析与数据实战 r语言数据分析实战 python数据分析实战 excel自动化报表分析实战 excel数据分析处理实战

    2020互联网数据分析师教程视频 统计学分析与数据实战 r语言数据分析实战 python数据分析实战 excel自动化报表分析实战 excel数据分析处理实战

  2. python调用r语言_【Python调用第三方R包】【环境变量设置】Python 通过rpy2调用 R语言...

    [github有完整的软件包 ] 系统环境 python 2.7.4  32bit R 3.0.1  i386-w64-mingw32/i386 (32-bit) rpy2 2.3.7  32bit ...

  3. r语言 plot_R语言直方图绘制hist(),plot()

    直方图绘制hist() 素娥 2020/9/27 本文我们要用iris数据集进行直方图的绘制 本文主要使用hist.plot函数进行绘制图片 首先还是观察数据类型 data<-iris libr ...

  4. rstudio python_如虎添翼:用Python与C++扩展R语言的应用场景

    R语言是心理与统计学界中最受欢迎的编程语言之一.相比商业统计软件,R语言免费.开源.扩展性强:而相比其他开源编程语言,R的基本操作相对简单,统计与作图模块完善,适合进行统计分析工作. 然而,R语言并非 ...

  5. r与python的区别和联系-Python和R语言的区别?

    Python和R语言的区别 Python和R语言的 数据挖掘技术日趋成熟和,随着互联网以及大批海量数据来,之前传统的依靠spss.SAS等可视化工具实现数据挖掘建模已经越来越不能满足日常需求,依据美国 ...

  6. R语言的digamma、gamma、dgamma与norm函数对应python函数包的问题

    R语言代码转为python代码 R语言的digamma.gamma函数:用作计算伽马函数的对数导数 python中替代函数:from scipy.special import digamma, gam ...

  7. pythonr语言三种基本结构_如何轻松搞定数据科学面试:Python&R语言篇

    作者: Carson Forter 编译: Mika本文为 CDA 数据分析师原创作品,转载需授权 对于数据科学家来说,工作的一大部分都需要在交互式编程环境中对数据进行处理.分析和可视化. 在过去几年 ...

  8. R 语言排名破纪录,一不小心把 PHP 比下去了 | 7月编程语言排行

    本月统计编程语言 R 语言,从第 9 位升至第 8 位,创下新纪录,而在 2019 年同期 R 语言仅排名第 20 位. 不久前,Python 赢得了统计编程语言排名的胜利,R 语言也在 Python ...

  9. R语言安装一些包的一些常见问题及经验之谈的解决办法

    R语言解释器自带有一些系统包,对于大多数人来说够用了,但是这些基础包通常不能满足我们的需要,这时候就需要从互联网下载一些第三方或者官方包以满足我们的需要.不光是R语言,包括Python.Java.Ph ...

最新文章

  1. linq调用mysql函数_如何为linq对象制作一个展平函数(Linq To Entities for mysql)?
  2. 快速理解https是如何保证安全的
  3. Nmap和Zenmap详解
  4. python 短网址_Python实现短网址ShortUrl的Hash运算实例讲解
  5. 浅析ThreadLocal
  6. 浅谈对称加密与非对称加密
  7. 网站开启 IPv6 访问,测试是否支持 IPV6
  8. HDU 2088 Box of Bricks
  9. 转 sql server性能分析--执行sql次数和逻辑次数
  10. jquery 上下无缝滚动
  11. MySQLl数据量不一样,导致走不同的索引
  12. 华为android 驱动安装失败,华为手机驱动出现安装失败的问题怎样解决?
  13. jQuery boxy
  14. Python 实验二 tkinter 版小学数学口算题生成器设计与实现
  15. android方向传感器 指南针,Android 方向传感器的两个应用:指南针和水平仪
  16. 蓝桥杯的比赛流程和必考点
  17. 网络安全行业有哪些认可度比较高的证书呢?
  18. 【论文阅读】Detecting concurrency memory corruption vulnerabilities
  19. 各种水果使用套袋的材料选择
  20. 虚拟电厂可视化大屏,深挖痛点精准减碳

热门文章

  1. Linux之文件管理(一)
  2. Python之路(第三十八篇) 并发编程:进程同步锁/互斥锁、信号量、事件、队列、生产者消费者模型...
  3. 为什么大多数人宁愿吃生活的苦,也不愿吃学习的苦?
  4. mysql更新日志问题
  5. 晒晒一个多月的seo小成就
  6. 记录一些比较有趣的网站,来给自己的网站设计积累思想
  7. SecureCRT脚本之WaitForString函数
  8. CSP认证 201312-4有趣的数[C++题解]:组合数、数学
  9. PAT甲级1030 Travel Plan (30分):[C++题解]dijkstra求单源最短路、保存路径
  10. pm2集群模式mysql配置_pm2 配置方式