专栏首页PPV课数据科学社区R语言和 Python —— 一个错误的分裂

R语言和 Python —— 一个错误的分裂

最近有一些文章提出与年龄相关的问题:“崭露头角的年轻数据科学家们是学习R语言还是Python更好?”

答案似乎都是“视情况而定”,在现实中没有必要在R和Python中做出选择,因为你两个都用得到。

它被称为RPy2:http://rpy.sourceforge.net/rpy2/doc-2.1/html/introduction.html

什么是”数据科学”?

在谈论RPy2之前,先来说一下“数据科学”,我要说的是“数据科学”是一个奇怪的词。因为几乎所有的科学都是“数据科学”。“无数据科学”则是完全不同的领域:哲学。“数据科学”是一门通过系统观察,对照实验,贝叶斯推理的开放试验理念的科学学科。

“数据科学”的目标是从数据中得出有效的统计推论。标签“数据”是指数据用于做什么并不重要,但这是错误的:它是难以且不可能做到科学的在没有得到数据的详细信息,得去了解系统的弱点并生产出来,智能、灵敏的应对非理想好数据。

任何有趣的数据集至少有以下一些特性:缺失值,异常值和噪声。缺失值:顾名思义就是缺失的值。异常值:离群怪异的事件,由于某种原因或其他的事件其值远远的超出合理界限。噪声的是,从所测量的值的随机(或非随机的)影响的着结果的分布。一个良好的测量分布,异常值和噪声在噪声不同下一般有较容易理解的因素,而异常值通常是很少发生的,我们不能通过分布很好的理解。

对于处理这类事情R,Python和RPY的都是有用的工具。

为什么R非常适合数据科学

R语言对有经验的统计分析师来说是非常轻量级. 它由科学家创造,对绝大多数的数据管理任务来说都非常轻松。特别适合以下几种数据管理任务:

  • 标记数据
  • 填充遗漏值(译者注:比如10行数据每行固定9列,但是第三行却只有5列数据,可以通过R的函数自动补全另外的5列值)
  • 过滤

R语言对标记数据的支持非常友好. R语言的“data frame”概念,使得通过对数据列和数据行头来分割组合数据、标记数据,然后以纯数值的矩阵数据交给算法处理. 而传统的数据科学开发语言,如Python对数据的处理都需要开发者自己完成,需要消耗开发者大量时间且容易出错.

处理或丢弃遗漏值、离群值(译者注:极值,如最大值、最小值)在数据中是非常基本但重要的任务. 某些情况下,本来是有利的数据,却因为测量误差等原因变成了不利、反对的数据。(译者注:比如越趋近于1才表示越可能是.)你如何处理这些事情可以对你的分析结果产生很大的影响。

R语言提供了丰富的算法来处理长期以来科学实践中出现的各种数据有关问题,虽然这些算法仍然需要自己去尝试和判断选择,以选择最恰当的数据处理算法.

RPy2: 架起R语言与Python之间的桥梁

Pandas,Python的数据分析库,目前它已经有很多相同功能,但是RPy2创造了一条很好的从R语言到Python的迁移路线,它让你在学习Python的时候,把R语言作为一个附属部分来学习,对于很多有丰富实验开发经验的分析师会使用R语言,当他们想把算法融入一个Python应用程序,并分发给用户时,他们也可以使用RPy2。

执行这种迁移的能力,而不离开R语言的概念模型是很有价值的,但从另一个角度来说,这也是一个限制,能够使用一个真正的通用编程语言,如:Python,来包装概念模型,并使得这个用户友好的应用程序有多种复杂的附加功能(打印,网络,USB支持,等等)是至关重要的。

举例来说,我已经使用了这种方法来创建读取传感器数据的Python应用,通过RPy2处理,以各种方式显示给客户,我不知道怎么用R语言读取传感器数据,应该是有某种方法的。而Python已经做好了我需要的模块,即使没有也非常容易扩展。

如果你还不知道R语言,我推荐你学习Python并且使用RPy2来访问R语言的函数。你学习一种语言获得了两种能力。一旦你学习过RPy,再转到纯R语言也不是什么大问题,但是,你想要反过来就没那么容易了。

END.

本文分享自微信公众号 - PPV课数据科学社区(ppvke123)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-01-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【翻译】数据科学的多语言协作编程方式:Python + R + SQL

    在这篇文章中,我将试图使用一种新的方法来介绍数据科学编程。 R vs. Python question中集中谈论了数据科学编程的问题,每个人都...

    小莹莹
  • 【学习】Python大数据学习路线图

    大家好,附图,为python大数据学习的一个提纲,相关的书本,会慢慢补充进来。 碍于版权问题,有些书本,请大家到网上去购买正版。 ? 1、Python学...

    小莹莹
  • 数据挖掘知识脉络与资源整理(十一)–数据质量分析

    ? ? 数据质量分析 1、 简介 传统意义上,数据分析分两类:EDA(Exploratory Data Analysis,探索性分析)和CDA(Confi...

    小莹莹
  • 干货 | 14张高清Python数据科学家(数据分析&机器学习)代码速查表

    来源 | https://www.jianshu.com/u/be48b04ecc3e

    用户2769421
  • 干货 | 14张高清Python数据科学家(数据分析&机器学习)代码速查表

    来源 | https://www.jianshu.com/u/be48b04ecc3e

    用户2769421
  • 干货 | 14张高清Python数据科学家(数据分析&机器学习)代码速查表

    来源 | https://www.jianshu.com/u/be48b04ecc3e

    1480
  • 用Python写了个金融数据爬虫,半小时干了组里实习生一周的工作量,笑了

    最近,越来越多的研究员、基金经理甚至财务会计领域的朋友,向小编咨询:金融人需要学Python么?

    一墨编程学习
  • 初识Python

    Python作为一门强大的开源编程语言,因为其简洁,易读,易懂而受到越来越多的人的喜欢。接下来的日子里,将跟 <Learning_Python_5th_...

    用户6021891
  • 如何安装 Python 的第三方模块

    正所谓“人生苦短,我用 Python”。Python 的一大优势就是有丰富且易用的第三方模块,省去了大量重复造轮子的时间,节约了众多开发者的生命。对于已经熟悉 ...

    Crossin先生
  • 5个超高评价的机器学习Python 库

    ? 作者 | Serdar Yegulalp 来源 | 搜狐 糖豆贴心提醒,本文阅读时间6分钟,文末有秘密! 机器学习令人无比神往,但从事这个工作的人可能...

    小小科

扫码关注云+社区

领取腾讯云代金券