/ / Converti la matrice numpy nella matrice R e mantienila così: python, r, numpy, rpy2

Converti la matrice numpy nella matrice R e mantienila così: python, r, numpy, rpy2

Mi piacerebbe convertire una matrice numpy in una matrice. Sono consapevole che tu per farlo:

from rpy2 import robjects as ro
ro.conversion.py2ri = ro.numpy2ri
ro.numpy2ri.activate()

E poi costruisci una matrice R:

mat_r = ro.r.matrix(mat_py)

Ma il problema è che ogni volta che mi riferisco alla nuova matrice in Python viene convertito in una matrice numpy. Ad esempio, ho bisogno di impostare i nomi delle righe e delle colonne, ma il risultato è:

mat_r.rownames = numpy.array([1,2,3])
AttributeError: "numpy.ndarray" object has no attribute "rownames"

Qualcuno sa come posso mantenere la mia nuova brillante matrice R come matrice R, e smettere di tornare ad essere un narray?

risposte:

1 per risposta № 1

Un modo potrebbe essere

ro.numpy2ri.deactivate()

La conversione può anche essere chiamata esplicitamente (i generici di conversione sono nel modulo, qui numpy2ri).