我了解基本的 python 编程,因此想继续走 python datasci 道路。 问题是,有很多 R 软件包对我这个社会科学人士很有吸引力。 Rpy2 是否允许充分使用任何通用的任意 r 包,或者是否有一个问题。它在实践中效果如何?
如果 Rpy2 太有限,不幸的是我不得不分支到 r,但我宁愿不这样做,因为有额外的开销。
谢谢 泰
最佳答案
启用假定的限制。
Rpy2
在其较低级别(rpy2.rinterface
级别)暴露了 R C-API 的很大一部分。从技术上讲,使用 rpy2
可以做的事情比使用 R 本身可以做的事情更多(为 R 编写 C 扩展可能是 catch 的唯一方法)。一个有趣的事实是,从 rpy2
执行“R 操作”可能比从 R 本身执行相同操作更快(请参阅 rpy2
文档对 R 向量中元素的访问进行基准测试)。
rpy2
中的更高级别(rpy2.robject
级别)正在添加一个层,使“做 R 的东西”更加“Pythonic”(尽管放弃了上面提到的性能声明)。 R 包看起来像 Python 模块,具有诸如 Formula、Factor 等类...将所有 R 对象都作为 Python 类,具有一个转换系统,可以让一个复杂的 R 结构自动映射到 Python 对象(参见 lme4
的示例)在 rpy2
文档0中,即时翻译无效的 R 变量名称(“.”是 R 中变量名称的有效字符),从 R 文档即时创建 Python 文档字符串。
关于python - Rpy2 的操作限制是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22839403/