2012-03-25 6 views
2

単純な線形回帰(Pythonのrpy2を使用)を実行しようとしていて、以下のスクリプトを実行しているエラー:'ValueError:タイプ<class> numpy.core.records.recarray'>の現時点で何もできません。エラー

>>> from numpy import array, rec 
>>> from numpy.random import normal as nprandom 
>>> from rpy2.robjects import numpy2ri, r 
>>> 
>>> foo = array(range(10)) 
>>> bar = foo + nprandom(0,1,10) 
>>> 
>>> d = rec.fromarrays([foo, bar], names=('foo','bar')) 
>>> fit = r.lm('bar ~ foo', data=d) 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/local/lib/python2.6/dist-packages/rpy2/robjects/functions.py", line 82, in __call__ 
    return super(SignatureTranslatedFunction, self).__call__(*args, **kwargs) 
    File "/usr/local/lib/python2.6/dist-packages/rpy2/robjects/functions.py", line 33, in __call__ 
    new_kwargs[k] = conversion.py2ri(v) 
    File "/usr/local/lib/python2.6/dist-packages/rpy2/robjects/__init__.py", line 134, 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 <class 'numpy.core.records.recarray'> at the moment. 
>>> print fit.rx2('coefficients') 

私は、Python 2.6.5を実行していていますnumpyのバージョン1.6.1

いずれかが何を知っています:ここ

from numpy import array, rec 
from numpy.random import normal as nprandom 
from rpy2.robjects import numpy2ri, r 

foo = array(range(10)) 
bar = foo + nprandom(0,1,10) 

d = rec.fromarrays([foo, bar], names=('foo','bar')) 
fit = r.lm('bar ~ foo', data=d) 
print fit.rx2('coefficients') 

は、コンソール出力でありますthを引き起こしているエラーですか?

rpy2.robjects.activate() 

numpy2riをインポートした後:

答えて

1

あなたが追加する必要があります。これはあなたの問題を解決し

That import alone is sufficient to switch an automatic conversion of numpy objects into rpy2 objects.

Why make this an optional import, while it could have been included in the function py2ri() (as done in the original patch submitted for that function) ?

Although both are valid and reasonable options, the design decision was taken in order to decouple rpy2 from numpy the most, and do not assume that having numpy installed automatically meant that a programmer wanted to use it.

希望:This SO postはrpy2のマニュアルを参照しています。

関連する問題