我了解基本的python编程,因此希望继续使用python路径。问题是,有许多R包吸引我作为一个社会科学人。Rpy2是否允许充分使用任何一般的任意r包,或者是否存在捕获。它在实践中的效果如何?
如果Rpy2太有限,我将不幸地不得不分支到r,但我宁愿不这样做,因为额外的开销。
谢谢泰
发布于 2014-04-03 20:56:12
把假定的限制带出来。
Rpy2在其较低的级别( rpy2.rinterface级别)公开了R的很大一部分。从技术上讲,与R本身相比,rpy2可以做得更多(为R编写C扩展可能是追赶的唯一方法)。作为一个有趣的事实,从rpy2做"R东西“比从R本身做同样的事情要快(参见rpy2文档基准测试R向量中元素的访问)。
rpy2中的更高级别(rpy2.robject级)增加了一个层,使“做R的东西”更"pythonic“(尽管放弃了上面提到的性能要求)。R包看起来像Python模块,有一些类,如公式、因子等.若要将所有R对象作为Python类,则有一个转换系统允许将一个复杂的R结构自动映射到Python对象(参见lme4在rpy2 documentation0中的示例,动态转换无效的R变量名(‘.“)。是R中变量名的有效字符),从R文档中动态创建Python文档字符串。
发布于 2014-04-03 14:00:07
我建议你用RPy2和IPythons %rmagic。
然而,RPy2并不是Python的统计函数的替换或端口或R库。这基本上是从Python内部调用R的简单方法(在后台启动R解释器)。您可以在R和Python之间传递基本数据--结构(numpy数组等),但更专门的结构(例如R的动物园或xts对象)可能会导致问题。
最后,您仍然需要了解R的语法等才能使用RPy2。与Python中的R-对象交互是很好的,但是您仍然需要了解很多关于R-对象的知识。
https://stackoverflow.com/questions/22839403
复制相似问题