rpy2:将FloatVector或Matrix转换回Python数组或列表?

时间:2012-08-02 00:30:42

标签: python rpy2

我正在使用rpy2而且我有这个问题困扰着我:我知道如何将Python数组或列表转换为FloatVector R(感谢rpy2)可以在Python中处理,但我不知道是否相反可以做,比方说,我有一个Flo可以处理并将其转换回Python数组或列表的FloatVector或Matrix ......可以这样做吗?

提前致谢!

4 个答案:

答案 0 :(得分:6)

这就像一个魅力:

vector=numpy.asarray(vector_R)

答案 1 :(得分:3)

自己找到了答案:-)。假设vector_R是FloatVector。要将其转换回Python,您需要执行以下操作:

import rpy2.robjects.numpy2ri as rpyn
vector=rpyn.ri2numpy(vector_R)

就是这样! “vector”现在是一个Numpy数组。

答案 2 :(得分:1)

在最新版本的rpy2中,您可以直接通过直接方式执行此操作:

import numpy as np array=np.array(vector_R)

答案 3 :(得分:0)

将rpy2.robjects.numpy2ri导入为rpyn vector = rpyn.ri2py(v)

在新的rpy2中使用