Python与R语言的简要对比


Posted in Python onNovember 14, 2017

数据挖掘技术日趋成熟和复杂,随着互联网发展以及大批海量数据的到来,之前传统的依靠spss、SAS等可视化工具实现数据挖掘建模已经越来越不能满足日常需求,依据美国对数据科学家(data scientist)的要求,想成为一名真正的数据科学家,编程实现算法以及编程实现建模已经是必要条件;目前很多从事数据挖掘工作的人,大多都是出身非计算机专业,本身对编程基础比较低,所以找到一门快速上手而又高效的编程语言是至关重要的,好的工具和编程语言可以起到事半功倍的效果。

目前在数据挖掘算法方面用的最多的编程语言有:Java、C++、C、Python、R等等

R语言作为统计界第一语言(软件),很多时候与我们号称分析界第一语言的Python老是被人拿起来对比,所以今天专门做了一个表格,简介一下R语言与Python语言的对比情况。

首先还是我Python神图压镇:

Python与R语言的简要对比

首先介绍一下R语言吧:

有个小段子,说为什么要叫R语言呢?就是因为两位创始人的名字,都是以"R"开头的,所以,干脆一拍即合,就叫R语言吧……

Python与R语言的简要对比

R语言有很多的特点……当然,看这张图,是不是觉得很眼熟啊,没错,如果看过以前那篇“Python大法好”的文章的同学,发现,R语言怎么和Python的特性这么相似捏?

Python与R语言的简要对比

其实R也有很多自己特性,下面是它最显著的几个特性:

1、就是命令模式。Python虽然也支持命令模式,但是相对来说,更偏向于流程控制语句,也就是可以写一堆语句,然后执行。R本身基本上不需要用到流程控制(当然,它也支持流程控制)。

2、就是交互性。这样是命令模式的一个特点,敲回车,出结果。但是又不像SPSS那种用鼠标扎针的交互方式(在键盘上运指如飞逼格瞬间提升很多……好莱坞大片里面,高手黑客都是不用鼠标的,当然,这样很合理,SSH或者Telent到远程服务器上,怎么鼠标?)

3、也是R语言最大的特点,统计学特性……好吧R语言与其他所有计算机语言最大的本质区别,就是它是一门统计学家发明的语言(其他语言,基本上都是码农发明的,当然,也有数学家发明的),那么就有很多神奇特点。

比如:赋值的时候,不用等号(=),用的是指向(<-),带来的问题就是要写a<-5

这种语句,就需要a<(-5)这样写。

比如对象下面的属性,不用点(.),而是用刀乐($)。当然,点也能用,但是又带来各种问题,比如R语言的变量命名法则不用遵循匈牙利法则……可以用中文啊有木有:

Python与R语言的简要对比

最反人类(反(程序)猿类)的设计,就是它的数组下标从1开始啊有木有!!所有的程序语言都是从0开始的有木有啊!!

最后就是内存问题:R语言被要求把所有数据都加载到内存里面去进行运行……我卖噶!!现在动辄GB没事就TB就数据,作死要不要做得这么彻底?(当然,现在Spark也支持R了……这是一个好消息,大家都是内存计算,难兄难弟啊)

最后贴出我Python大法与R大法的对比图:

Python与R语言的简要对比

详细指标项如下:

Python程序猿经常说的一句话:别看我们运行慢,但是我们写得快啊……但是这个对比R就没优势了,R的代码量比Python更少……当然,是比R能够完成的任务的情况下。

实际上这种对比并没有太大的意义,比较硬要说R是一种语言,还不如说它更像是一个分析工具,是一个软件……而Python是一个支持大型软件工程项目的开发语言(不信,你用R写个web网站我看看……Python就可以。)

Python与R语言的简要对比

总结

以上就是本文关于Python与R语言的简要对比的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:

如有不足之处,欢迎留言指出。

Python 相关文章推荐
深入讲解Python编程中的字符串
Oct 14 Python
python中numpy的矩阵、多维数组的用法
Feb 05 Python
python监控文件并且发送告警邮件
Jun 21 Python
python中的常量和变量代码详解
Jul 25 Python
python数据结构学习之实现线性表的顺序
Sep 28 Python
Python 运行 shell 获取输出结果的实例
Jan 07 Python
pandas取出重复数据的方法
Jul 04 Python
python模块hashlib(加密服务)知识点讲解
Nov 25 Python
Django 解决由save方法引发的错误
May 21 Python
对Keras中predict()方法和predict_classes()方法的区别说明
Jun 09 Python
python mock测试的示例
Oct 19 Python
python tqdm实现进度条的示例代码
Nov 10 Python
Python基础语言学习笔记总结(精华)
Nov 14 #Python
Python利用multiprocessing实现最简单的分布式作业调度系统实例
Nov 14 #Python
python中os和sys模块的区别与常用方法总结
Nov 14 #Python
Python 将RGB图像转换为Pytho灰度图像的实例
Nov 14 #Python
人机交互程序 python实现人机对话
Nov 14 #Python
python密码错误三次锁定(实例讲解)
Nov 14 #Python
Python如何快速上手? 快速掌握一门新语言的方法
Nov 14 #Python
You might like
php下拉选项的批量操作的实现代码
2013/10/14 PHP
php+ajax导入大数据时产生的问题处理
2014/06/11 PHP
朋友网关于QQ相关的PHP代码(研究QQ的绝佳资料)
2015/01/26 PHP
php+ajax 实现输入读取数据库显示匹配信息
2015/10/08 PHP
CodeIgniter集成smarty的方法详解
2016/05/26 PHP
PHP入门教程之字符串处理技巧总结(转换,过滤,解析,查找,截取,替换等)
2016/09/11 PHP
Laravel5.1自定义500错误页面示例
2016/10/09 PHP
PHP设计模式之简单工厂和工厂模式实例分析
2019/03/25 PHP
CodeIgniter框架实现的整合Smarty引擎DEMO示例
2019/03/28 PHP
PHP迭代器和生成器用法实例分析
2019/09/28 PHP
php实现的证件照换底色功能示例【人像抠图/换背景图】
2020/05/29 PHP
JavaScript中的私有成员
2006/09/18 Javascript
javascript 图片上一张下一张链接效果代码
2010/03/12 Javascript
Jquery 滑入滑出效果实现代码
2010/03/27 Javascript
jquery 学习之一 对象访问
2010/11/23 Javascript
Jquery练习之表单验证实现代码
2010/12/14 Javascript
JSuggest自动匹配下拉框使用方法(示例代码)
2013/12/27 Javascript
Jquery循环截取字符串的方法(多出的字符串处理成&quot;...&quot;)
2016/11/28 Javascript
JavaScript实现经典排序算法之选择排序
2016/12/28 Javascript
微信小程序开发中的疑问解答汇总
2017/07/03 Javascript
Vue中Table组件Select的勾选和取消勾选事件详解
2019/03/19 Javascript
Jquery 动态添加元素并添加点击事件实现过程解析
2019/10/12 jQuery
[01:09:10]NB vs Liquid Supermajor小组赛 A组胜者组决赛 BO3 第一场 6.2
2018/06/04 DOTA
python逐行读写txt文件的实例讲解
2018/04/03 Python
python实现遍历文件夹图片并重命名
2020/03/23 Python
tensorflow 动态获取 BatchSzie 的大小实例
2020/06/30 Python
美国最大的电子宠物训练产品制造商:PetSafe
2018/10/12 全球购物
蔻驰意大利官网:COACH意大利
2019/01/16 全球购物
JSF如何进行表格处理及取值
2012/08/06 面试题
助人为乐模范事迹材料
2014/06/02 职场文书
工作检讨书500字
2014/10/19 职场文书
2015年法制宣传月活动总结
2015/03/26 职场文书
2015社区六五普法工作总结
2015/04/21 职场文书
共青团优秀团员申请书(范文)
2019/08/15 职场文书
Redis如何实现分布式锁
2021/08/23 Redis
HTML5中的DOCUMENT.VISIBILITYSTATE属性详解
2023/05/07 HTML / CSS