r语言和python-Python和R语言的区别_Python与R的区别和联系
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的区别和联系相关推荐
- R语言和python语言的区别在什么地方,各自的应用场景是什么
R语言和Python语言都是广泛使用的数据分析和科学计算语言,但它们有一些不同之处. R语言是一种专门用于数据分析和统计建模的编程语言.它提供了许多内置的数据结构和函数,可以方便地进行数据处理.可视化 ...
- 数据挖掘r语言和python知乎_Hellobi Live |R语言爬虫实战案例分享:网易云课堂、知乎live、今日头条、B站视频...
课程名称 R语言爬虫实战案例分享:网易云课堂.知乎live.今日头条.B站视频 网络数据抓取是数据科学中获取数据中的重要途径,但是一直以来受制于高门槛,都是专业程序员的专属技能.直到R语言和Pytho ...
- r语言和python-r语言和python
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! r的取值范围是,r=1表示完全正相关! r=-1表示完全负相关! r=0表示完全 ...
- r语言和python-R语言和Python一块学习会弄混吗
原标题:R语言和Python一块学习会弄混吗 感谢关注天善智能,走好数据之路↑↑↑ 欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答.求职一站式搞定 ...
- r语言和python-r语言和python的详细对比
r语言和python的对比,两者各有千秋,究竟要学哪一个,可根据自己的实际需求来作出选择,当然,最好是两者都学. 01 开发目的 R语言 R是由统计学家开发的,它的出生就肩负着统计分析.绘图.数据挖掘 ...
- R语言和Python连接hive
连接原理:R语言和Python连接,R中读取的数据可以传递到python中进行处理,同理python中的结果可以传递到R语言中进行,二者满足双向传递.而Python连接hive的方法较多且简单,因此采 ...
- 生物学经典blast比对算法,R语言和Python如何实现?
Blast比对算法原理与实现方式 做生物的同学肯定听说过blast比对这个方法,一般在NCBI等网站上可以在线进行比对,也可以在本地服务器进行比对,那么blast算法究竟是怎么实现对不同序列的比对呢? ...
- R语言和Rstudio下载 以及 R 包安装
R语言和Rstudio下载 The Comprehensive R Archive Network (r-project.org) 进入官网下载与电脑相符的R语言 比如我的电脑是Windows x6 ...
- r语言和rstudio_R和RStudio简介
r语言和rstudio With increased computing power comes increased access to large amounts of freely accessi ...
最新文章
- ArcServer for Java 讲座
- java精确除法计算,四舍五入 Java问题通用解决代码
- java多线程中的异常处理
- track文件 什么是git_git常用命令
- 一篇详文带你入门 Redis
- VueJS定义组件规则
- 装上了Visual Studio 2005
- linux 一次执行多条命令
- RxJava 之创建操作符
- 关于徒手脱壳的几种方法
- 关于Spring Boot 这可能是全网最好的知识点总结
- ENVI5.3安装中国国产卫星支持工具
- java前后端分离跨域解决方案
- 可以测量50A以上电流的隔离集成式电流传感器CH704应用案例分享
- 【hadoop学习项目】10. 使用多级MR找出两两用户之间的共同好友
- 上顿号符号_顿号在键盘上怎么打?每日一答
- 盘点!物流移动机器人的几种定位技术
- qq邮箱foxmail imap服务器,foxmail登录imap服务器提示失败。怎么办?
- 01-Lambert 漫反射
- oracle函数按周,关于oracle按日周月分组统计以及next_day()函数详解
热门文章
- 基于DM8168 EVM的智能视频跟踪系统
- SQL server 2000/2005 智能感应插件(菜鸟新手的帮手)
- Http 状态码一览表
- 利用Oh-My-Zsh打造你的超级终端---待排版
- python3 scrapy+Crontab部署过程
- 2017年06月07号课堂笔记
- 2010最值得关注的10款小众互联网产品
- .NET Framework 3.5 SP1 bootstrapper 包(安装和部署)的解决方法
- python能做自动化吗-Python自动化 作为代码小白,我是这样成为自动化大神的!...
- python语言开发的软件有哪些-最适合人工智能开发的5种编程语言,你知道几种?...