正如@lgautier所指出的那样,在这个问题上已经有了另一个答案。 我在这里留下我的答案,因为它增加了将R作为新手的经验,首先了解Python。
我同时使用Python和R,并同意您作为R的新手的需要。
由于您得到的任何答案都是主观的,因此,根据我的经验,我总结了几点:
我使用rpy2作为我的界面,发现它是“ Pythonic”的,稳定的,可预测的并且足以满足我的需求。 我没有使用其他软件包,因此这不是对它们的评论,而是对rpy2本身的优点的评论。
但是不要指望在不学习两者的情况下,会有在Python中使用R的简便方法。 我发现在两种语言之间都添加接口可以简化编码,但同时又会给缺少一种语言的人带来调试的噩梦。
我的建议:
对于大多数应用程序,Python提供了一些程序包,这些程序包使您可以执行R要做的大部分事情,从数据整理到绘图。 查看SciPy,NumPy,pandas,BioPython,matplotlib和其他科学软件包,甚至完整的Anaconda或Enthought python发行版。 这使您可以停留在Python环境中,并为您提供所需的大多数功能。
同时,您将需要R的大量专用软件包,因此花一些时间在交互式环境中学习它。 我发现几乎不可能在命令行上掌握基本的R,但是RStudio以及Quick-R和Learn-R的教程使我的发展非常迅速。
两者都知道之后,您将可以使用rpy2进行魔术操作,而不必担心跨语言调试。
新资源
2015年1月29日更新
事实证明,此答案很受欢迎,因此我认为指出最近的两个资源将很有用:
拉尔夫·海因克尔(Ralph Heinkel)在2014年欧洲Python大会上就此主题进行了精彩演讲。有关将Python和R的强大功能结合在一起的视频可在EuroPython YouTube频道上找到。 引用他:
三元组R,Rserve和pyRserve允许建立从Python到R的网桥:现在可以从Python调用R函数,就好像它们是在Python中实现的一样,甚至可以通过此连接执行完整的R脚本。
现在可以在IPython/Jupyter中使用rmagic组合R和Python,从而大大简化了产生可重现的研究和将两种语言组合在一起的笔记本的工作。