R语言和 Python —— 一个错误的分裂
全世界有3.14 % 的人已经关注了
数据与算法之美
最近有一些文章提出与年龄相关的问题:“崭露头角的年轻数据科学家们是学习R语言还是Python更好?”
答案似乎都是“视情况而定”,在现实中没有必要在R和Python中做出选择,因为你两个都用得到。推荐阅读《Python3.0科学计算指南》。
它被称为RPy2:
http://rpy.sourceforge.net/rpy2/doc2.1/html/introduction.html
什么是”数据科学”?
在谈论RPy2之前,先来说一下“数据科学”,我要说的是“数据科学”是一个奇怪的词。因为几乎所有的科学都是“数据科学”。“无数据科学”则是完全不同的领域:哲学。“数据科学”是一门通过系统观察,对照实验,贝叶斯推理的开放试验理念的科学学科。
“数据科学”的目标是从数据中得出有效的统计推论。标签“数据”是指数据用于做什么并不重要,但这是错误的:它是难以且不可能做到科学的在没有得到数据的详细信息,得去了解系统的弱点并生产出来,智能、灵敏的应对非理想好数据。
任何有趣的数据集至少有以下一些特性:缺失值,异常值和噪声。缺失值:顾名思义就是缺失的值。异常值:离群怪异的事件,由于某种原因或其他的事件其值远远的超出合理界限。噪声的是,从所测量的值的随机(或非随机的)影响的着结果的分布。一个良好的测量分布,异常值和噪声在噪声不同下一般有较容易理解的因素,而异常值通常是很少发生的,我们不能通过分布很好的理解。
对于处理这类事情R,Python和RPY的都是有用的工具。
为什么R非常适合数据科学
R语言对有经验的统计分析师来说是非常轻量级. 它由科学家创造,对绝大多数的数据管理任务来说都非常轻松。特别适合以下几种数据管理任务:
1.标记数据;
2.填充遗漏值(译者注:比如10行数据每行固定9列,但是第三行却只有5列数据,可以通过R的函数自动补全另外的5列值);
3.过滤。
R语言对标记数据的支持非常友好. R语言的“data frame”概念,使得通过对数据列和数据行头来分割组合数据、标记数据,然后以纯数值的矩阵数据交给算法处理. 而传统的数据科学开发语言,如Python对数据的处理都需要开发者自己完成,需要消耗开发者大量时间且容易出错。
处理或丢弃遗漏值、离群值(译者注:极值,如最大值、最小值)在数据中是非常基本但重要的任务. 某些情况下,本来是有利的数据,却因为测量误差等原因变成了不利、反对的数据。(译者注:比如越趋近于1才表示越可能是。)你如何处理这些事情可以对你的分析结果产生很大的影响。
R语言提供了丰富的算法来处理长期以来科学实践中出现的各种数据有关问题,虽然这些算法仍然需要自己去尝试和判断选择,以选择最恰当的数据处理算法。
RPy2: 架起R语言与Python之间的桥梁
Pandas,Python的数据分析库,目前它已经有很多相同功能,但是RPy2创造了一条很好的从R语言到Python的迁移路线,它让你在学习Python的时候,把R语言作为一个附属部分来学习,对于很多有丰富实验开发经验的分析师会使用R语言,当他们想把算法融入一个Python应用程序,并分发给用户时,他们也可以使用RPy2。
执行这种迁移的能力,而不离开R语言的概念模型是很有价值的,但从另一个角度来说,这也是一个限制,能够使用一个真正的通用编程语言,如:Python,来包装概念模型,并使得这个用户友好的应用程序有多种复杂的附加功能(打印,网络,USB支持,等等)是至关重要的。推荐阅读《Python深度学习》。
举例来说,我已经使用了这种方法来创建读取传感器数据的Python应用,通过RPy2处理,以各种方式显示给客户,我不知道怎么用R语言读取传感器数据,应该是有某种方法的。而Python已经做好了我需要的模块,即使没有也非常容易扩展。
如果你还不知道R语言,我推荐你学习Python并且使用RPy2来访问R语言的函数。你学习一种语言获得了两种能力。一旦你学习过RPy,再转到纯R语言也不是什么大问题,但是,你想要反过来就没那么容易了。
via:oschina
精品课程推荐:
选购数学科普正版读物
严选“数学思维好物”
送给孩子的益智礼物 | 办公室神器
算法工程师成长阅读 | 居家高科技
理工科男女实用型礼物精选
数据与算法之美
用数据解决不可能
长按扫码关注
R语言和 Python —— 一个错误的分裂相关推荐
- 生物学经典blast比对算法,R语言和Python如何实现?
Blast比对算法原理与实现方式 做生物的同学肯定听说过blast比对这个方法,一般在NCBI等网站上可以在线进行比对,也可以在本地服务器进行比对,那么blast算法究竟是怎么实现对不同序列的比对呢? ...
- R语言和python语言的区别在什么地方,各自的应用场景是什么
R语言和Python语言都是广泛使用的数据分析和科学计算语言,但它们有一些不同之处. R语言是一种专门用于数据分析和统计建模的编程语言.它提供了许多内置的数据结构和函数,可以方便地进行数据处理.可视化 ...
- R语言和Python连接hive
连接原理:R语言和Python连接,R中读取的数据可以传递到python中进行处理,同理python中的结果可以传递到R语言中进行,二者满足双向传递.而Python连接hive的方法较多且简单,因此采 ...
- 数据挖掘r语言和python知乎_Hellobi Live |R语言爬虫实战案例分享:网易云课堂、知乎live、今日头条、B站视频...
课程名称 R语言爬虫实战案例分享:网易云课堂.知乎live.今日头条.B站视频 网络数据抓取是数据科学中获取数据中的重要途径,但是一直以来受制于高门槛,都是专业程序员的专属技能.直到R语言和Pytho ...
- r语言和python的区别_c语言和python的区别
c语言和python的区别 1.语言类型不同. Python是一种动态类型语言,又是强类型语言.它们确定一个变量的类型是在您第一次给它赋值的时候.C 是静态类型语言,一种在编译期间就确定数据类型的语言 ...
- r语言和python-R语言和Python —— 一个
一.什么是"数据科学" 在谈论RPy2之前,先来说一下"数据科学",我要说的是"数据科学"是一个奇怪的词.因为几乎所有的科学都是" ...
- r语言和python的区别-Python和R语言之分析对比
在Python中调用R或在R中调用Python,为什么是"和"而不是"或"? 在互联网中,关于"R和Python"的文章,排名前十的搜索结果 ...
- r语言和python的区别_机器学习怎样开始比较好?Python还是R语言?
全文共3077字,预计学习时长11分钟 图源:unsplash 机器学习是近几年来最热门的技术之一,也许你对机器学习很感兴趣,但却不知从何处下手.别担心,兴趣是最好的老师这里有你开启该领域职业生涯的完 ...
- r语言和python爬虫谁厉害_R vs Python: 谁是最好的数据科学语言?
作者:Lou Bajuk 翻译:黄小伟,资深数据从业者.目前就职杭州有赞数据分析团队,欢迎加入! 简历邮箱:huangxiaowei@youzan.com 从我们成立之初,RStudio就致力于几个关 ...
最新文章
- 遍历Collection,避免在循环中删除对象时避免ConcurrentModificationException
- Python 2大限来了!113天后自生自灭,官方不再维护更新 | 附升级指南
- pb9调用http发短信post_远程服务调用
- openssl aes加解密的使用
- 论文,范围管理(2017上)
- 类装载器ClassLoader
- jgroups传输消息_使用JGroups进行ElasticMQ消息复制
- 小程序监听点击右上角按钮_朋友圈支持应用直达、公众号小程序支持行动按钮文案、原生页拉取...
- idea2020.2中@test是怎么测试的_Sklearn 划分训练集和测试集
- android gridvie item,Android开发―解决自定义GridView高度第一个item高度异常问题
- openwrt多拨插件_折腾小日记三:爱快PKopenwrt多拨实测
- 中职生c语言搜题软件,适合法考学生用的搜题软件,这几款帮你搞定!
- 进程调度算法C语言实现
- 大创和互联网加_大创?科研立项?互联网+大赛?创业大赛?……你还在纠结吗?...
- 网络工程师面试常见问题:OSPF篇
- 手机短信压力测试v1.4
- centos7 | All matches were filtered out by modular filtering for argument: mysql-community-server
- 【战国策】之《齐策·张仪为秦连横说齐王曰》
- 15道 Vue 面试题,内含详细讲解(涵盖入门到精通,自测 Vue 掌握程度)
- cv2.error: OpenCV(4.1.0)error: (-215:Assertion failed) !ssize.empty() in function ‘resize‘——记录解决方法