Python和R语言的区别_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的时候会更快上手。

喜欢 (1)or分享 (0)

r语言和python-Python和R语言的区别_Python与R的区别和联系相关推荐

  1. R语言和python语言的区别在什么地方,各自的应用场景是什么

    R语言和Python语言都是广泛使用的数据分析和科学计算语言,但它们有一些不同之处. R语言是一种专门用于数据分析和统计建模的编程语言.它提供了许多内置的数据结构和函数,可以方便地进行数据处理.可视化 ...

  2. 数据挖掘r语言和python知乎_Hellobi Live |R语言爬虫实战案例分享:网易云课堂、知乎live、今日头条、B站视频...

    课程名称 R语言爬虫实战案例分享:网易云课堂.知乎live.今日头条.B站视频 网络数据抓取是数据科学中获取数据中的重要途径,但是一直以来受制于高门槛,都是专业程序员的专属技能.直到R语言和Pytho ...

  3. r语言和python-r语言和python

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! r的取值范围是,r=1表示完全正相关! r=-1表示完全负相关! r=0表示完全 ...

  4. r语言和python-R语言和Python一块学习会弄混吗

    原标题:R语言和Python一块学习会弄混吗 感谢关注天善智能,走好数据之路↑↑↑ 欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答.求职一站式搞定 ...

  5. r语言和python-r语言和python的详细对比

    r语言和python的对比,两者各有千秋,究竟要学哪一个,可根据自己的实际需求来作出选择,当然,最好是两者都学. 01 开发目的 R语言 R是由统计学家开发的,它的出生就肩负着统计分析.绘图.数据挖掘 ...

  6. R语言和Python连接hive

    连接原理:R语言和Python连接,R中读取的数据可以传递到python中进行处理,同理python中的结果可以传递到R语言中进行,二者满足双向传递.而Python连接hive的方法较多且简单,因此采 ...

  7. 生物学经典blast比对算法,R语言和Python如何实现?

    Blast比对算法原理与实现方式 做生物的同学肯定听说过blast比对这个方法,一般在NCBI等网站上可以在线进行比对,也可以在本地服务器进行比对,那么blast算法究竟是怎么实现对不同序列的比对呢? ...

  8. R语言和Rstudio下载 以及 R 包安装

    R语言和Rstudio下载 The Comprehensive R Archive Network (r-project.org)  进入官网下载与电脑相符的R语言 比如我的电脑是Windows x6 ...

  9. r语言和rstudio_R和RStudio简介

    r语言和rstudio With increased computing power comes increased access to large amounts of freely accessi ...

最新文章

  1. ArcServer for Java 讲座
  2. java精确除法计算,四舍五入 Java问题通用解决代码
  3. java多线程中的异常处理
  4. track文件 什么是git_git常用命令
  5. 一篇详文带你入门 Redis
  6. VueJS定义组件规则
  7. 装上了Visual Studio 2005
  8. linux 一次执行多条命令
  9. RxJava 之创建操作符
  10. 关于徒手脱壳的几种方法
  11. 关于Spring Boot 这可能是全网最好的知识点总结
  12. ENVI5.3安装中国国产卫星支持工具
  13. java前后端分离跨域解决方案
  14. 可以测量50A以上电流的隔离集成式电流传感器CH704应用案例分享
  15. 【hadoop学习项目】10. 使用多级MR找出两两用户之间的共同好友
  16. 上顿号符号_顿号在键盘上怎么打?每日一答
  17. 盘点!物流移动机器人的几种定位技术
  18. qq邮箱foxmail imap服务器,foxmail登录imap服务器提示失败。怎么办?
  19. 01-Lambert 漫反射
  20. oracle函数按周,关于oracle按日周月分组统计以及next_day()函数详解

热门文章

  1. 基于DM8168 EVM的智能视频跟踪系统
  2. SQL server 2000/2005 智能感应插件(菜鸟新手的帮手)
  3. Http 状态码一览表
  4. 利用Oh-My-Zsh打造你的超级终端---待排版
  5. python3 scrapy+Crontab部署过程
  6. 2017年06月07号课堂笔记
  7. 2010最值得关注的10款小众互联网产品
  8. .NET Framework 3.5 SP1 bootstrapper 包(安装和部署)的解决方法
  9. python能做自动化吗-Python自动化 作为代码小白,我是这样成为自动化大神的!...
  10. python语言开发的软件有哪些-最适合人工智能开发的5种编程语言,你知道几种?...