R 和 Python,为什么不能二者兼得?

2020 年 12 月 30 日

R 和 Python,为什么不能二者兼得?

你是否同时使用 R 和 Python,或者是在不同的项目中,或者是在同一个项目中?请看一看 prython,一个专门为满足你这种需求而设计的 IDE。


忘掉 R 与 Python 之间的网络论战吧。


如果 R 和 Python 都被使用可能是合理的时候,那么在实际情况中会发生什么情况呢?


如果数据科学或分析团队是由一些具有这两种语言专长的人组成的呢?如果一个系统的设计是使用生态系统中的库和包,而这些库和包是由两种基本语言发展而来的呢?如果某一用例要求某一实现部分脱离产品其他部分的语言,又会怎样呢?


如果你想使用 IDE 来实现和管理这些不同的代码呢?


又或者,如果你在不同的项目中同时使用 R 和 Python,并且只需要一个单独的工作区就可以编写全部代码,那会怎么样呢?


使用prython,一种为 R 和 Python 编码而设计的 IDE,即使在同一个项目中也是如此。



prython 是一种新颖的 IDE,通过在 canvas(画布)中连接 panel(面板),你可以用 R 或 Python 进行编码(你甚至可以在同一个项目中同时使用这两种语言)。这可以让你组织你的代码,执行一键运行的实验,并在创建它们的 panel 旁边显示你的图表和数据框。厌倦记住哪些行需要注释出来以测试某些内容了吗?还是你只是想更好地组织代码?prython 目前可用于 Windows,并与本地 R/Python 内核一起运行。


该项目的优点都与易于集成的 Python 和 R 编程环境有关,包括输入输出流管理的无代码功能、数据可视化、在项目流中不同的位置旋出上下文控制台、混合数据框架检查等等。


prython 目前最大的缺点是只能在 Windows 中运行。


若你是 Windows 用户,你可以在这里下载 prython。



prython 是以 panel 为基础,panel 可以在 canvas 上互相连接,每个 panel 都运行 Python 或 R 代码。该 panel 具有包括输入和输出在内的连接,可以根据需要配置和重新配置这些连接。panel 可以独立运行,也可以与前面或后面的 panel 串联。为什么还要为 panel 而烦恼呢?


数据专业人员需要对他们的数据进行实验,制作大量的图表,并将代码分成不同的区域。他们很少希望有一个从头到尾运行的单一线性脚本。这样做几乎不可避免地会导致脚本非常混乱,输出不清晰,多处混乱的图表,以及用户需要记住哪些注释才能测试某些内容。其他任何 IDE 无法完全满足这个要求。


据 prython 网站的描述,以下是使用 prython 的典型原因:


  • 跟踪和描述实验和测试。无需记住需要在脚本中注释掉哪些内容来测试 X 更改,使用 prython 很容易就能做到这一点。

  • 在 canvas 中同时显示结果和图表。

  • 对不同的模型进行复杂的测试,只需用鼠标单击(例如:你希望一次测试多个 scikit-learn 模型)。

  • 将代码拆分为 canvas 中的不同区域。也就是将输入信息载入 canvas 的一部分,将模型放在一个区域上进行训练,并在另一个区域进行绘图 / 分析。

  • 将 Python 和 R 代码混合到在同一个项目中。

  • 使脚本中数据帧的变化和演化可视化。在 R 或 Python 中,prython 计算跨 panel 对数据帧所做的所有更改,每当数据帧发生更改时,将其作为表格显示在每个 panel 旁边。


下面的视频是关于 prython 的简短的高级介绍:


视频网址:https://youtu.be/pzSOdkLF-5Y


这个项目的网站上还有其他视频教程,以及足够的文档,可以让你熟悉 IDE ,并开始使用它进行开发。


关于哪种语言主宰所有语言的争论已经过去了,但这并不意味着任何语言都能成为“赢家”。Python 和 R 是两个用于实现数据科学或数据分析目标的工具,基于所使用的工具来设定目标会产生适得其反的效果。因此,使用这两种语言中的一种或两种,了解一下 prython,看看它以数据科学为中心的 IDE 的独特方法是否能提高你的效率。归根结底,你的工具应该做的是让你自己不被打扰,并使之有效。


作者介绍:


Matthew Mayo,机器学习研究员、KDnuggets 编辑,KDnuggets 是开创性的在线数据科学和机器学习资源网站。他对无监督学习、深度神经网络、自然语言处理、算法设计和优化以及数据处理和分析的分布式方法特别感兴趣。他拥有计算机科学硕士学位和数据挖掘的研究生文凭。


原文链接:


https://www.kdnuggets.com/2020/12/r-python-both-prython.html


2020 年 12 月 30 日 10:001
用户头像
刘燕 InfoQ记者

发布了 469 篇内容, 共 146.8 次阅读, 收获喜欢 828 次。

关注

评论

发布
暂无评论
发现更多内容

架构作业--第十周

Nick~毓

五千字长文带你学习二分查找算法及其变体

与你一起学算法

Python 算法

第六周总结

小兵

架构师训练营第 1 期 -- 第十周学习总结

发酵的死神

极客大学架构师训练营

区块链将如何改变住房市场

CECBC区块链专委会

区块链 住房记录

第10周 作业2

Yangjing

极客大学架构师训练营

架構師訓練營 week10 作業

ilake

深入掌握底层源码常见的 CAS 原子编程

麻花不是花花

架构 CAS

Python进阶——什么是迭代器?

Kaito

Python

第10周 作业1

Yangjing

极客大学架构师训练营

南海将打造“区块链+”金融科技产业高地

CECBC区块链专委会

区块链 金融

哪些数据将成为区块链系统的关键数据?

CECBC区块链专委会

区块链

MYSQL数据类型

少林寺三毛

MySQL

第六周大作业

小兵

【第十周】模块分解

云龙

架构1期 第十周作业

haha

动态规划解决爬楼梯算法,彻底搞懂AppStore证书体系、彻底搞懂控制反转IoC,依赖注入DIP, John 易筋 ARTS 打卡 Week 28

John(易筋)

ARTS 打卡计划 动态规划解决爬楼梯 AppStore证书体系 控制反转IOC 依赖注入DIP

架构师训练营第十周作业

训练营第十周作业 1

仲夏

极客大学架构师训练营

训练营第十周作业2

仲夏

极客大学架构师训练营

第六周-作业一

Geek_0b0f83

模块拆分第十周作业「架构师训练营第 1 期」

天天向善

用例与架构

zamkai

架构 领域驱动设计

Logstash使用

Rayzh

ELK

第五周作业

Jack

极客时间架构师训练营 1 期 - 第 10 周总结

Kaven

极客时间架构师培训 1 期 - 第 10 周作业

Kaven

【第九周】课后作业

云龙

互联网络上遇到数据延迟维护清算中取不出该怎么解决?

Geek_a6658e

架构师训练营第 1 期 week10

张建亮

极客大学架构师训练营

架构师入门学习之感悟六

莫问

解读2020之年终技术盘点特辑

解读2020之年终技术盘点特辑

R 和 Python,为什么不能二者兼得?-InfoQ