Python接口对于R编程语言[重复](Python interface for R Program

2019-06-26 14:37发布

这个问题已经在这里有一个答案:

  • 如何Rpy2,pyrserve和PypeR比较? 4个回答

我很新的R,和几乎用蟒蛇。 我不是那么舒适的R代码里面。 我找了Python接口R,这让我使用R封装在Python的方式

我已经做了谷歌的研究,发现几包,可以这样做:

  • Rpy2
  • PypeR
  • pyRserve

但不知道哪一个更好? 其中有更多的贡献者,并更加积极地使用?

请注意,我的主要要求是访问R程序包Python的方式

Answer 1:

正如@lgautier指出,已经有关于这个问题的另一个答案 。 我离开这里我的答案,因为它增加了接近R作为一个新手,第一次知道的Python的经验。


我使用Python和R和您的需求为初来乍到R.同情

既然你得到任何答案将是主观的,我总结我的经验有几点:

  • 我用rpy2作为我的界面,发现它是“Python化”的,稳定的,可预测的,并且我需要足够有效。 我没有使用其他的软件包,这是不是对他们的评论,而在rpy2本身的价值。
  • 但不要指望会有用在Python [R既没有学习的简单方法。 我发现添加两种语言之间的接口允许轻松,当你知道这两个编码的,但调试的人谁是在语言中的一种缺陷的噩梦。

我的建议:

  1. 对于大多数应用,Python有包,让你做最想要R中做的事情,从数据扯皮到绘图。 退房SciPy的 , NumPy的 , 熊猫 , BioPython , matplotlib和其他科学的包,甚至完整的蟒蛇或Enthought蟒蛇分布。 这可以让你留在Python环境中,并提供你最,你需要的力量。
  2. 与此同时,你会想的r广阔的专业包装,所以花一些时间在一个互动的环境中学习它。 我发现它几乎是不可能的,即使掌握基本科研在命令行上,但RStudio和教程快速-R和学习-R让我走得很快。

一旦你知道这两个,那么你会做魔术rpy2没有跨语言调试的恐怖。


新资源

更新2015年29月

这个答案已经证明受欢迎,所以我想指出两个最近的资源将是有益的:

  • 拉尔夫·亨克尔介绍了这一主题的精彩演讲,EuroPython 2014上的视频结合Python和R的强大世界上可用EuroPython YouTube频道 。 引述他:

三元组[R , Rserve和pyRserve允许网络桥梁建设了从Python来R:现在,R-功能可以在Python被称为如果他们在Python付诸实施,甚至完成R脚本可以通过此连接被执行。

  • 现在是可能的R和Python的使用结合rmagicIPython/Jupyter大大缓解生产重复性研究,结合了两种语言的笔记本电脑的工作。


Answer 2:

大约一个问题比较rpy2,pyrserve和pyper互相得到的回答在现场早。

关于供体的数目,我会说,所有3有一个相对小的数目。 喜欢的网站Ohloh对能给予更多的相关详细的答案。

如何积极包装则采用的是很难确定。 一个迹象可能是下载的数量,另一可能是在邮件列表的帖子或像计算器网站的数量问题的数量,使用其他包的数量,或引用它,个人简历的数量和职位空缺提包。 虽然我相信,我可以给一个公正的评价,我也可能会被视为存在利益冲突。 ;-)

这三家公司均各有利弊。 我会说,你基地您的选择上。



Answer 3:

我个人的经验是与Rpy ,不Rpy2 。 我用了一段时间,但赞成使用的放弃了它system命令。 我正在运行使用Python脚本FORTRAN模型,并与R.处理后在我的经验,最简单的解决一个典型的案例是创建使用R,这是相当简单的(至少在Linux下)的命令行工具。 命令行工具可以在模型运行的根来执行,并且脚本将产生集合R的对象和曲线的在Routput目录。 以这种方式断开R和Python中的好处是,我可以轻松地调试将R代码从Python代码分开。

我认为Rpy时,需要大量的R和Python的之间来回沟通的真正的亮点。 但是,如果该功能是很好的可分离和磁盘I的开销/ O是不是太糟糕,我会坚持到system调用。 见?system了解有关的系统调用的详细信息,并Rscript r表示运行脚本作为一个命令行工具。

关于你的愿望写R代码在Python的方式,因为所有的解决方案都需要你写R中的语法R代码里面,这是不可能的。 对于Rpy此装置R的语法,但有一点不同(无.例如)。 我@gauden同意,在通过使用R否快捷Rpy



文章来源: Python interface for R Programming Language [duplicate]