使用rpy2访问名称中带点的函数(例如“as.vector”)

时间:2011-05-17 14:09:26

标签: r rpy2

我正在尝试使用rpy2从Python中访问“as.vector”R函数。让我们说,为了简单起见,我想用rpy2(R代码)做一些简单的事情:

x <- as.vector(c(1, 2, 3))

由于“as.vector”在其名称中包含一个点,因此它不能直接作为rpy2.robjects.r的成员使用

根据文档,rpy2用命名函数参数的下划线替换点,但它似乎不适用于函数名本身。我试过例如。 “as_vector”,“asvector”无济于事。

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

根据文档,当使用'rpy2.robjects.r'时,rpy2不会用下划线替换点。

您可能需要考虑使用'importr()'

答案 1 :(得分:3)

使用rpy2.robjects.r接口获取对该函数的引用。

所以,你可以这样做:

as_vector = robjects.r("as.vector")
vect = as_vector(r_vect)