Python与R的区别和联系

可能问这个问题会很无脑,但是我还没有深入接触过Python,只是用过R语言。谁能帮我解答一下,这两者的主要区别呢?是否存在代替关系呢?

精彩解答:一个是源于统计,慢慢可能会发展成一门语言;一个是编程语言,涉及到了统计大数据。两者本质是不同的,虽然有一些共性。

python非常的通用,无论是做网站、处理数据、科学计算、运维部署脚本、测试工具开发、用python都很高效,r语言主要是做统计分析用的,看好python

我的一点个人经验:前一段时间学些斯坦福coursera的算法课程,用R做课后的编程作业,一个二十亿次的排序过程用R-console大约15分钟(intel i-5, 8gb内存);用r-studio跑了24小时以上,最后死机了。python没试过,但看网上的别人用Python写的答案,貌似code写的很简洁,他们汇报的运算速度也很快。

但至少一般的编程,R好像都可以胜任。

另外,好像不少软件都是用python编的。据说dropbox就是用python写的;另外一些bt torrent下载软件也是用python写的。

两者都用过。R的优势就是一些前沿的统计、计量方法,R都有现成的包可以用,而且质量都很高,而用python的话你只能自己写,如果对这个方法没有完全理解的话,还容易写错。除了这一点之外,R没有任何优势

Python与R的区别和联系

有人说Python和R的区别是显而易见的,因为R是针对统计的,python是给程序员设计的,其实这话对Python多多少少有些不公平。2012年的时候我们说R是学术界的主流,但是现在Python正在慢慢取代R在学术界的地位。不知道是不是因为大数据时代的到来。

Python与R相比速度要快。Python可以直接处理上G的数据;R不行,R分析数据时需要先通过数据库把大数据转化为小数据(通过groupby)才能交给R做分析,因此R不可能直接分析行为详单,只能分析统计结果。所以有人说:Python=R+SQL/Hive,并不是没有道理的。

Python的一个最明显的优势在于其胶水语言的特性,很多书里也都会提到这一点,一些底层用C写的算法封装在Python包里后性能非常高效(Python的数据挖掘包Orange canve 中的决策树分析50万用户10秒出结果,用R几个小时也出不来,8G内存全部占满)。但是,凡事都不绝对,如果R矢量化编程做得好的话(有点小难度),会使R的速度和程序的长度都有显著性提升。

R的优势在于有包罗万象的统计函数可以调用,特别是在时间序列分析方面,无论是经典还是前沿的方法都有相应的包直接使用。

相比之下,Python之前在这方面贫乏不少。但是,现在Python有了pandas。pandas提供了一组标准的时间序列处理工具和数据算法。因此,你可以高效处理非常大的时间序列,轻松地进行切片/切块、聚合、对定期/不定期的时间序列进行重采样等。可能你已经猜到了,这些工具中大部分都对金融和经济数据尤为有用,但你当然也可以用它们来分析服务器日志数据。于是,近年来,由于Python有不断改良的库(主要是pandas),使其成为数据处理任务的一大替代方案。

做过几个实验:

1. 用python实现了一个统计方法,其中用到了ctypes,multiprocess。

之后一个项目要做方法比较,又用回R,发现一些bioconductor上的包已经默认用parallel了。(但那个包还是很慢,一下子把所有线程都用掉了,导致整个电脑使用不能,看网页非常卡~)

2. 用python pandas做了一些数据整理工作,类似数据库,两三个表来回查、匹配。感觉还是很方便的。虽然这些工作R也能做,但估计会慢点,毕竟几十万行的条目了。

3. 用python matplotlib画图。pyplot作图的方式和R差异很大,R是一条命令画点东西,pylot是准备好了以后一起出来。pyplot的颜色选择有点尴尬,默认颜色比较少,之后可用html的颜色,但是名字太长了~。pyplot 的legend比R 好用多了,算是半自动化了。pyplot画出来后可以自由拉升缩放,然后再保存为图片,这点比R好用。

总的来说Python是一套比较平衡的语言,各方面都可以,无论是对其他语言的调用,和数据源的连接、读取,对系统的操作,还是正则表达和文字处理,Python都有着明显优势。? ?而R是在统计方面比较突出。但是数据分析其实不仅仅是统计,前期的数据收集,数据处理,数据抽样,数据聚类,以及比较复杂的数据挖掘算法,数据建模等等这些任务,只要是100M以上的数据,R都很难胜任,但是Python却基本胜任。

结合其在通用编程方面的强大实力,我们完全可以只使用Python这一种语言去构建以数据为中心的应用程序。

但世上本没有最好的软件或程序,也鲜有人能把单一语言挖掘运用到极致。尤其是很多人早先学了R,现在完全不用又舍不得,所以对于想要学以致用的人来说,如果能把R和Python相结合,就更好不过了,很早看过一篇文章——让R与Python共舞,咱们坛子里有原帖,就不多说了,看完会有更多启发。

BTW:如果之前没有学过R,可以先学Python然后决定是不是学R,如果学了R,学Python的时候会更快上手。

Python和R语言的区别相关推荐

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

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

  2. r语言和python-Python和R语言的区别_Python与R的区别和联系

    Python和R语言的区别_Python与R的区别和联系 可能问这个问题会很无脑,但是我还没有深入接触过Python,只是用过R语言.谁能帮我解答一下,这两者的主要区别呢?是否存在代替关系呢? 精彩解 ...

  3. python和r语言哪个入门容易-R语言 vs Python对比:数据分析哪家强?

    什么是R语言? R语言,一种自由软件编程语言与操作环境,主要用于统计分析.绘图.数据挖掘.R本来是由来自新西兰奥克兰大学的罗斯·伊哈卡和罗伯特·杰特曼开发(也因此称为R),现在由"R开发核心 ...

  4. python调用r语言加载包错误_Python调用R语言

    网络上经常看到有人问数据分析是学习Python好还是R语言好,还有一些争论Python好还是R好的文章.每次看到这样的文章我都会想到李舰和肖凯的<数据科学中的R语言>,书中一直强调,工具不 ...

  5. python语言入门r_小结:jieba分词的Python与R语言基础用法介绍

    当前浏览器不支持播放音乐或语音,请在微信或其他浏览器中播放 人们说话不是一个词一个词崩出来的,文章也就由句子组成.要想让机器识别美文,体会中华名族汉语的博大精深,不是不可能.但是,首先需要将其转化成其 ...

  6. r语言和python-R VS Python:R语言是否真的过时了?

    ​自从CDA数据分析师开设了Level1 业务数据分析师 R专题之后,很多学生对此产生了疑惑.特别是在挖掘建模工具的选择上,甚至出现了选择恐惧症.在此,摘抄了 浩彬老撕 的文章,以及之前零零散散看的一 ...

  7. python医学应用_数据分析工具鄙视链:Python、R语言是老大,Excel只能称小弟?

    最新行业报告 2020数据分析.商业分析行业报告工作岗位与职能.薪资对比.热招公司等多方面详细解读帮助你一网打尽,斩获心仪Offer! 扫码回复[数据分析 0]立即领取 History语言发展史ABC ...

  8. 【Python面试】谈谈对 Python 和其他语言的区别?​

    最近公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助! 小猿会从最基础的面试题开 ...

  9. 用蒙特卡洛方法计算派-python和R语言

    用蒙特卡洛方法算pi-基于python和R语言 最近follow了MOOC上一门python课,开始学Python.同时,买来了概率论与数理统计,准备自学一下统计.(因为被鄙视过不是统计专业却想搞数据 ...

  10. 数据分析用r还是python_想要从事数据分析,选择python还是R语言呢?

    数据分析是当下非常受欢迎的领域,而python和R语言在数据分析领域都有着非常重要的作用,那么想要从事数据分析,选择python还是R语言呢? 什么是python? python由 Guido van ...

最新文章

  1. ★教师工资为什么这么低?/整理
  2. 浙大计算机 在职博士,浙江大学在职博士含金量高吗?
  3. mysql seconds_behind_master_MySQL 复制延迟 Seconds_Behind_Master 究竟是如何计算的
  4. 最新的ndkr20编译c_史上最优雅的NDK加载pass方案
  5. mybatis-嵌套(关联)查询/ N+1 / 延迟加载
  6. Wannafly挑战赛27: D. 绿魔法师(莫比乌斯函数)
  7. Ubuntu安装python调用摄像头
  8. LVM逻辑卷管理学习
  9. 计算机组成与体系结构之Flynn分类法
  10. .db文件用什么打开?如何打开.db数据库文件?
  11. impala日期格式转换
  12. 怎么更改网络中的计算机名字,修改网络 “本地连接”的中网络名称“网络2”为其他名称...
  13. python安装报错:User installations are disabled via policy on the machine. 0x80070643
  14. excel编辑csv文件
  15. Linux shell 交互式编程、TCL/TK 和 Expect 编译与安装、expect 编程
  16. 信息学奥赛一本通1182 合影效果
  17. evplayer android闪退,Evplayer优弊端汇总
  18. Yapieasyapi文档管理平台安装与使用
  19. Mac Pro硬盘清理,为啥我的系统占用如此之多的磁盘空间
  20. 26岁学编程会不会已经晚了?

热门文章

  1. 10.16作业 如鹏
  2. hbase版本与Hadoop版本支持关系(官方)
  3. VM虚拟机装Windows XP系统
  4. 快速排序C语言实现 - 源码详解
  5. C语言-快速排序实现
  6. 康佳LED55K55U电视板砖的拯救历程
  7. 怎么看电脑支持多少兆网速_电脑网速怎么看(电脑怎么看网速多少兆)
  8. 利用mongodb实现分布式WEB图片存储
  9. UE4学习笔记(3)——World Composition无缝拼接地图实现
  10. 【C++ Builder 11】选择文件夹的三种方式