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 № 1Un modo potrebbe essere
ro.numpy2ri.deactivate()
La conversione può anche essere chiamata esplicitamente (i generici di conversione sono nel modulo, qui numpy2ri
).