Le code suivant est censé créer un heatmap dans rpy2Conversion d'objets python pour rpy2
import numpy as np
from rpy2.robjects import r
data = np.random.random((10,10))
r.heatmap(data)
Cependant, il en résulte l'erreur suivante
Traceback (most recent call last):
File "z.py", line 8, in <module>
labRow=rowNames, labCol=colNames)
File "C:\Python25\lib\site-packages\rpy2\robjects\__init__.py", line 418, in __call__
new_args = [conversion.py2ri(a) for a in args]
File "C:\Python25\lib\site-packages\rpy2\robjects\__init__.py", line 93, in default_py2ri
raise(ValueError("Nothing can be done for the type %s at the moment." %(type(o))))
ValueError: Nothing can be done for the type <type 'numpy.ndarray'> at the moment.
De la documentation J'apprends que r.heatmap attend "une matrice numérique". Comment puis-je convertir np.array au type de données requis?
Je suis un peu ne savez pas comment "activer explicitement" la conversion comme mentionné dans le edit @lgautier. Je rencontre un problème similaire qui a fonctionné dans une ancienne version de rpy2 mais qui semble cassé dans rpy2 2.2.2. Pouvez-vous donner un bref exemple? – mishaF
Pour les futurs lecteurs: ajoutez 'rpy2.robjects.activate()' après l'importation. Ils ont eu des problèmes avec l'importation ayant des effets secondaires. – agf
@agf: Merci, agf. – unutbu