从Python 3.1.1到R的最佳接口是什么?
我在Mac OS X 10.6.2上使用Python 3.1.1,需要一个可以和R语言对接的工具。在网上浏览时,我发现了RPy这个东西。请问这是个合适的选择吗?
现在,我的Python程序计算了一个距离矩阵,并把它存储在一个文件里。我会单独打开R,手动读取这个矩阵进行聚类分析。为了简化计算,我可以为R准备一个脚本文件,然后从Python调用它,再把结果读回来。因为我刚开始学Python,所以不想退回到2.6版本。
3 个回答
我觉得对于Python 3.1.1来说,没有什么可用的选项。
关于R-Python绑定的现状:
目前有三个选择:RPy、RPy2和RSPython。
RPy和RPy2是同一开发团队开发和维护的;RPy2是对RPy的重大重写,而RPy又是基于Omega hat的RSPython。
RPy仍然在积极维护中。
RSPython虽然还可以使用,但我认为它不再积极开发了。我几个月前查了一下,发现的最新版本(0.7-1)是在2006年10月发布的。
RPy2的最新稳定版本和开发版本(2.1 rc)是为R版本2.10(当前稳定版本)和Python版本2.6优化的(也就是说,这些是开发中使用的版本)。我不知道RPy2的开发者有没有宣布支持Python 3.x的版本。
编辑:重写以总结随着时间积累的修改。
目前的 rpy2 版本(2.3.x 系列)完全支持 Python 3.3,但对于 Python 3.0、3.1 或 3.2 并没有做出任何承诺。
在写这段文字时,下一版 rpy2(正在开发中,2.4.x 系列)只支持 Python 3.3。
关于 Python 3 支持的历史:
rpy2-2.1.0-dev / 仓库中的 Python 3 分支 - 实验性支持,这是一个 Google 夏季编码项目,目的是将 rpy2 移植到 Python 3(在 Python 的支持下)
这个项目获得了批准,感谢 Google 的资金支持,Python 3 的功能慢慢被整合进主代码库(在 GSoC 之后还有很多工作要做,最终完成了 2.2.x 版本的分支)。