/ / Convertissez numpy matrix en matrice R et conservez-le ainsi - python, r, numpy, rpy2

Convertir la matrice numpy en matrice R et le garder ainsi - python, r, numpy, rpy2

Je souhaite convertir une matrice numpy en une matrice R. Je sais que vous devez le faire:

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

Et ensuite construire une matrice R:

mat_r = ro.r.matrix(mat_py)

Mais le problème est que, chaque fois que je me réfère à la nouvelle matrice en python, celle-ci est reconvertie en matrice numpy. Par exemple, je dois définir les noms des lignes et des colonnes, mais cela entraîne ceci:

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

Quelqu'un sait-il que je peux conserver ma nouvelle et brillante matrice r en tant que matrice r et que cesser de redevenir un ndarray?

Réponses:

1 pour la réponse № 1

Une façon pourrait être

ro.numpy2ri.deactivate()

La conversion peut aussi être appelée explicitement (les génériques de conversion sont dans le module, ici numpy2ri).