【发布时间】:2015-09-09 15:55:20
【问题描述】:
rpy2 的文档让我很困惑。在R 中,可以使用help() 接口来了解我们在R 中的某些事情实际上是如何工作的。例如help(print) 说明如何使用print();它给出了描述、用法和示例,例如
‘print’ prints its argument and returns it _invisibly_ (via
‘invisible(x)’). It is a generic function which means that new
printing methods can be easily added for new ‘class’es.
有没有一种简单的方法来找出如何使用rpy2 从rpy2 中的R 执行每个方法?要获得使用rpy2 的帮助,可以使用
>>> from rpy2.robjects.packages import importr
>>> utils = importr("utils")
>>> help_doc = utils.help("print")
然后将对象转换为字符串以查看文档,即str(help_doc)。但是,这仅打印来自R 的文档,并没有告诉我如何在rpy2 中实现print。
有没有更好的方法在R 和rpy2 之间快速转换?
示例:加载数据文件,file.Rdata
在R 中,可以使用函数load(),即
source("file.Rdata")
并且数据文件被上传。
在rpy2 中,可以使用load() 函数并酌情转换为Python 对象,即
>>> import rpy2.robjects as robjects
>>> robjects.r['load']("file.RData")
然后,为了在numpy 中操作这些对象,只需使用
from rpy2.robjects import numpy2ri
并使用numpy.asarray() 或numpy.array() 将R 向量/数组转换为numpy 数组。
【问题讨论】:
-
该链接是 rpy2 旧版本的文档。考虑将 URL 中的 2.2 更改为 2.6。
-
@lgautier 你是对的。谢谢!