将 numpy 矩阵转换为 R 矩阵并保持这种状态
Convert numpy matrix to R matrix and keep it that way
我想将 numpy 矩阵转换为 R 矩阵。我知道您要这样做:
from rpy2 import robjects as ro
ro.conversion.py2ri = ro.numpy2ri
ro.numpy2ri.activate()
然后建立一个R矩阵:
mat_r = ro.r.matrix(mat_py)
但问题是,每当我在 python 中引用新矩阵时,它都会转换回 numpy 矩阵。例如,我需要设置行名和列名,但这样做的结果是:
mat_r.rownames = numpy.array([1,2,3])
AttributeError: 'numpy.ndarray' object has no attribute 'rownames'
有谁知道我如何才能将闪亮的新 r 矩阵保留为 r 矩阵,并且停止再次变成 ndarray?
一种方法可能是
ro.numpy2ri.deactivate()
也可以显式调用转换(转换泛型在模块中,这里numpy2ri
)。
我想将 numpy 矩阵转换为 R 矩阵。我知道您要这样做:
from rpy2 import robjects as ro
ro.conversion.py2ri = ro.numpy2ri
ro.numpy2ri.activate()
然后建立一个R矩阵:
mat_r = ro.r.matrix(mat_py)
但问题是,每当我在 python 中引用新矩阵时,它都会转换回 numpy 矩阵。例如,我需要设置行名和列名,但这样做的结果是:
mat_r.rownames = numpy.array([1,2,3])
AttributeError: 'numpy.ndarray' object has no attribute 'rownames'
有谁知道我如何才能将闪亮的新 r 矩阵保留为 r 矩阵,并且停止再次变成 ndarray?
一种方法可能是
ro.numpy2ri.deactivate()
也可以显式调用转换(转换泛型在模块中,这里numpy2ri
)。