El siguiente código se supone que crear un mapa de calor en rpy2convertir objetos de Python para rpy2
import numpy as np
from rpy2.robjects import r
data = np.random.random((10,10))
r.heatmap(data)
Sin embargo, el resultado es el siguiente error
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 documentación me entero de que r.heatmap espera "una matriz numérica". ¿Cómo convierto np.array al tipo de datos requerido?
estoy un poco no está seguro de cómo "activar explícitamente" la conversión como se menciona en edit @lgautier. Me encuentro con un problema similar que funcionaba en una versión anterior de rpy2 pero parece estar roto en rpy2 2.2.2. ¿Puedes dar un breve ejemplo? – mishaF
Para futuros lectores: agregue 'rpy2.robjects.activate()' después de la importación. Tuvieron problemas con la importación con efectos secundarios. – agf
@agf: Gracias, agf. – unutbu