質問

以下のコードは作成heatmapに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.配列は、必要なデータタイプ?

役に立ちましたか?

解決

あなたが追加する必要があります。

import rpy2.robjects.numpy2ri
rpy2.robjects.numpy2ri.activate()

http://rpy.sourceforge.net/rpy2/docを参照してください。 -2.2 / HTML / numpy.htmlするます:

  

のみインポートすることは十分にあります   の自動変換を切り替えます   numpyのはrpy2オブジェクトにオブジェクトます。

     

なぜ、このオプションのインポートにします、   これはに含まれている可能性がありながら、   関数py2ri(()で行われたように   そのために提出元のパッチ   機能)?

     

の両方が有効であると認めます   オプションには、設計上の決定が取られました   numpyのからrpy2を分離するために、   ほとんど、とすることを想定していません。   numpyのが自動的にインストールされました   プログラマが使用することを望んでいたことを意味   これます。

編集を rpy2シリーズ2.2.xのでは、単独の輸入はもはや十分ではありません。変換は、明示的に有効にする必要があります。

他のヒント

rpy2 2.2.4のために、私は追加する必要がありました。

import rpy2.robjects.numpy2ri
rpy2.robjects.numpy2ri.activate()

私にとって(2.2.1以下のもとに文書にまとめられて http://rpy.sourceforge.net/rpy2/doc-2.2/html/numpy.html):

import rpy2.robjects as ro
from rpy2.robjects.numpy2ri import numpy2ri
ro.conversion.py2ri = numpy2ri
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top