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 № 1Une 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
).