【问题标题】:rpy2: Convert FloatVector or Matrix back to a Python array or list?rpy2:将 FloatVector 或 Matrix 转换回 Python 数组或列表?
【发布时间】:2012-07-30 22:51:50
【问题描述】:

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

提前致谢!

【问题讨论】:

    标签: python rpy2


    【解决方案1】:

    这就像一个魅力:

    vector=numpy.asarray(vector_R)
    

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

      • 一个“numpy”数组;-) Python 数组是标准库模块“array”。
      【解决方案3】:

      在最新版本的 rpy2 中,您可以简单地直接这样做:

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

      【讨论】:

        【解决方案4】:
        import rpy2.robjects.numpy2ri as rpyn
        vector=rpyn.ri2py(v)
        

        在新的 rpy2 中做,其中 v 是向量

        【讨论】:

          猜你喜欢
          • 2013-06-10
          • 2011-06-03
          • 1970-01-01
          • 2021-07-02
          • 2021-01-06
          • 1970-01-01
          • 2012-10-30
          • 2022-11-19
          • 2015-08-06
          相关资源
          最近更新 更多