我对R很陌生,并且非常习惯于python。我不太习惯写R码。我正在寻找到R的python接口,它允许我使用pythonic方式的R包。
我做过谷歌的研究,发现很少有软件包能做到这一点:
但不确定哪个更好?哪一个有更多的缴费者和更积极的使用?
请注意,我的主要要求是pythonic方式访问R包。
发布于 2012-07-30 07:36:13
正如@lgautier所指出的,关于这个问题的另一个答案已经存在了。我把我的答案留在这里,因为它增加了以新手的身份接触R的经验,首先了解Python。
我同时使用Python和R,并同情你作为R.
由于你得到的任何答案都是主观的,我从我的经验中总结出几点:
我的建议是:
一旦您知道了这两个,那么您将使用rpy2魔术,而不可怕的跨语言调试。
新资源
2015年1月29日最新消息
事实证明,这一答案很受欢迎,因此我认为,指出最近的两项资源将是有益的:
三叉R、拉瑟尔和pyRserve允许构建从Python的网络桥:现在可以从Python调用R-函数,就好像它们是用Python实现的一样,甚至可以通过这种连接执行完整的R脚本。
IPython/Jupyter将R和Python结合起来,这大大简化了将这两种语言结合在一起的可重复研究和笔记本的工作。发布于 2012-07-30 08:20:47
网站早些时候回答了一个关于比较rpy2、pyrserve和pyper的问题。
关于投稿人的数量,我想说这三个人的人数都相对较少。像奥罗这样的网站可以给出一个更不恰当的答案。
如何积极地使用一个包是很难确定的。一种指示可能是下载的数量,另一种可能是邮件列表上的帖子数量或网站上的数量问题(如堆栈溢出)、使用它或引用它的其他软件包的数量、提及该软件包的简历或职务空缺的数量。虽然我相信我可以作出公平的评价,但我也可能被视为有利益冲突。;-)
这三种方法各有优缺点。我想说你的选择是基于这个。
发布于 2012-07-30 09:15:23
我的个人经历是在Rpy,而不是Rpy2。我使用了一段时间,但放弃了它,转而使用system命令。对我来说,一个典型的例子是使用Python脚本运行FORTRAN模型,以及使用R进行后处理--在我的经验中,最简单的解决方案是使用R创建命令行工具,这是非常简单的(至少在Linux下)。命令行工具可以在模型运行的根目录中执行,脚本将在Routput目录中生成一组R对象和绘图。以这种方式断开R和Python的优点是,我可以轻松地调试与Python代码分开的R代码。
我认为,当R和Python之间需要大量的来回通信时,Rpy确实会发光。但是,如果功能可以很好地分离,并且磁盘i/o的开销也不算太差,我会坚持使用system调用。有关系统调用的更多信息,请参见?system,作为命令行工具运行R脚本的Rscript。
对于您希望以Python方式编写R代码的问题,这是不可能的,因为所有的解决方案都要求您用R语法编写R代码。对于Rpy,这意味着R语法,但有点不同(例如,没有. )。我同意@gauden的观点,即通过Rpy使用R没有捷径。
https://stackoverflow.com/questions/11716923
复制相似问题