12

Pythonプログラムで計算を行う必要があり、そのうちのいくつかをRで作成したいと思います。RコードをPythonに埋め込むことは可能ですか?

4

3 に答える 3

8

rpyを確認する必要があります(ここにあるドキュメントへのリンク)。

これにより、次のことが可能になります。

from rpy import *

そしてr、Rで行うのと同じように、呼び出されたオブジェクトを使用して計算を行うことができます。

ドキュメントから抽出した例を次に示します。

>>> from rpy import *
>>>
>>> degrees = 4
>>> grid = r.seq(0, 10, length=100)
>>> values = [r.dchisq(x, degrees) for x in grid]
>>> r.par(ann=0)
>>> r.plot(grid, values, type=’lines’)
于 2013-01-27T19:51:05.217 に答える
8

RPyはこの種のことのあなたの友達です。

scipy、numpy、matplotlibパッケージはすべて、Rと同様のことを行い、非常に完全ですが、言語を混合したい場合は、RPyが最適です。

from rpy2.robjects import *

def main(): 
    degrees = 4 
    grid = r.seq(0, 10, length=100) 
    values = [r.dchisq(x, degrees) for x in grid] 
    r.par(ann=0) 
    r.plot(grid, values, type='l') 

if __name__ == '__main__': 
     main()
于 2013-01-27T19:57:35.263 に答える
3

R計算を行う必要がある場合、通常はRスクリプトを記述し、subprocessモジュールを使用してPythonから実行します。私がこれを選択した理由は、インストールされていたRIのバージョン(2.16だと思います)が当時のRPy(2.14が必要)と互換性がなかったためです。

したがって、すでにRを「希望どおりに」インストールしている場合は、これがより適切なオプションになる可能性があります。

于 2013-01-27T22:01:55.170 に答える