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使用新浪微博API发送微博的例子
Apr 10 Python
Python实现豆瓣图片下载的方法
May 25 Python
在Python程序员面试中被问的最多的10道题
Dec 05 Python
python正则中最短匹配实现代码
Jan 16 Python
python3使用SMTP发送简单文本邮件
Jun 19 Python
利用python-docx模块写批量生日邀请函
Aug 26 Python
Python Django框架防御CSRF攻击的方法分析
Oct 18 Python
pygame实现打字游戏
Feb 19 Python
Python 3 使用Pillow生成漂亮的分形树图片
Dec 24 Python
Python pip install之SSL异常处理操作
Sep 03 Python
用python对excel查重
Dec 07 Python
Python 读写 Matlab Mat 格式数据的操作
May 19 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
PHP4中实现动态代理
2006/10/09 PHP
PHPWind与Discuz截取字符函数substrs与cutstr性能比较
2011/12/05 PHP
WordPress中用于更新伪静态规则的PHP代码实例讲解
2015/12/18 PHP
php实现异步将远程链接上内容(图片或内容)写到本地的方法
2016/11/30 PHP
Thinkphp 框架扩展之驱动扩展实例分析
2020/04/27 PHP
Opacity.js
2007/01/22 Javascript
读jQuery之八 包装事件对象
2011/06/21 Javascript
Jquery选择子控件&quot;大于号&quot;和&quot; &quot;区别介绍及使用示例
2013/06/25 Javascript
JSON.stringify转换JSON时日期时间不准确的解决方法
2014/08/08 Javascript
node.js中的events.emitter.once方法使用说明
2014/12/10 Javascript
jQuery循环动画与获取组件尺寸的方法
2015/02/02 Javascript
D3.js封装文本实现自动换行和旋转平移等功能
2016/10/14 Javascript
利用Js+Css实现折纸动态导航效果实例源码
2017/01/25 Javascript
JS组件系列之MVVM组件 vue 30分钟搞定前端增删改查
2017/04/28 Javascript
微信小程序实现action-sheet弹出底部菜单功能【附源码下载】
2017/12/09 Javascript
vue二级路由设置方法
2018/02/09 Javascript
关闭Vue计算属性自带的缓存功能方法
2018/03/02 Javascript
[01:58]最残酷竞争 2016国际邀请赛中国区预选赛积分循环赛回顾
2016/06/28 DOTA
Python实用日期时间处理方法汇总
2015/05/09 Python
python实现mysql的读写分离及负载均衡
2018/02/04 Python
Python使用win32 COM实现Excel的写入与保存功能示例
2018/05/03 Python
pytorch 实现将自己的图片数据处理成可以训练的图片类型
2020/01/08 Python
python实现超级玛丽游戏
2020/03/18 Python
Python实现疫情通定时自动填写功能(附代码)
2020/05/27 Python
CSS3 :default伪类选择器使用简介
2018/03/15 HTML / CSS
使用HTML5 Canvas API中的clip()方法裁剪区域图像
2016/03/25 HTML / CSS
阿里巴巴美国:Alibaba美国
2019/11/24 全球购物
西班牙用户之间买卖视频游戏的平台:Wakkap
2020/03/21 全球购物
如何用JQuery进行表单验证
2013/05/29 面试题
军训感想500字
2014/02/20 职场文书
党员创先争优承诺书
2014/03/26 职场文书
实验心得体会
2014/09/05 职场文书
创业计划书之淘宝网店
2019/10/08 职场文书
教你用Java在个人电脑上实现微信扫码支付
2021/06/13 Java/Android
用Python实现屏幕截图详解
2022/01/22 Python
Windows Server 版本 20H2 于 8 月 9 日停止支持,Win10 版本 21H1 将于 12 月结束支
2022/07/23 数码科技