轉換Python對象下面的代碼應該在rpy2創建一個熱圖爲rpy2
import numpy as np
from rpy2.robjects import r
data = np.random.random((10,10))
r.heatmap(data)
但是,它會導致以下錯誤
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.
從文檔我得知r.heatmap期待「一個數字矩陣」。如何將np.array轉換爲所需的數據類型?
我有點不確定如何「編輯@lgautier」中提到的「顯式激活」轉換。我遇到了一個類似的問題,在舊版本的rpy2中工作,但似乎在rpy2 2.2.2中損壞。你能提供一個簡單的例子嗎? – mishaF 2011-07-26 22:10:02
對於將來的讀者:在導入後添加'rpy2.robjects.activate()'。他們在進口時遇到了副作用問題。 – agf 2011-07-26 23:30:17
@agf:謝謝,agf。 – unutbu 2011-07-27 00:14:55