私はRにはかなり慣れておらず、Pythonにはかなり慣れています。私はRコードを書くのはそれほど気に入らない。 python Rへのインターフェイスを探しています。これにより、Pythonの方法でRパッケージを使用できます。
私はグーグル調査を行ったが、それを行うことができるいくつかのパッケージを見つけました
しかし、どちらが良いのか分かりませんか?貢献者が多く、より積極的に使用されているのはどれですか?
私の主な要件はRパッケージにアクセスするためのPythonの方法であることに注意してください.
@lgautierが指摘したように、すでに この問題に関する別の回答 があります。最初にPythonを知っている初心者としてRにアプローチする経験を追加するので、ここに答えを残します。
PythonとRの両方を使用し、Rの新規参入者としてのニーズに共感します。
回答は主観的なものですので、私の経験からいくつかのポイントを要約します。
私のアドバイス:
両方を知ったら、クロス言語デバッグの恐ろしさなしに rpy2 で魔法をかけます。
2015年1月29日に更新
この答えは人気があることがわかったため、最近の2つのリソースを指摘すると役立つと思いました。
トリプレット [〜#〜] r [〜#〜] 、 Rserve 、および pyRserve は、Python to R:PythonからR関数をPythonで実装されているように呼び出すことができ、この接続を介して完全なRスクリプトを実行することもできます。
rmagic
in IPython/Jupyter
を使用してRとPythonを組み合わせることが可能になりました。両方の言語を組み合わせた再現可能な研究とノートブックの作成作業が大幅に軽減されます。rpy2、pyrserve、およびpyperとの比較 に関する質問は、サイトで以前に回答されました。
貢献者の数については、3つすべてが比較的少ないと思います。 Ohloh のようなサイトは、より詳細な回答を提供できます。
パッケージがどの程度積極的に使用されているかを判断するのは困難です。 1つの指標はダウンロード数、もう1つはメーリングリストへの投稿数、stackoverflowなどのサイトでの質問数、それを使用または引用している他のパッケージの数、CVまたは求人の数パッケージ。公正な評価をすることができると信じている限り、利益相反を抱えていると見られることもあります。 ;-)
3つとも長所と短所があります。私はあなたがその選択に基づいていると言います。
私の個人的な経験は、Rpy2
ではなく、Rpy
でした。私はしばらくそれを使用しましたが、system
コマンドの使用を支持して削除しました。私にとっての典型的なケースは、Pythonスクリプトを使用してFORTRANモデルを実行し、Rで後処理することでした。私の経験では、Rを使用してコマンドラインツールを作成するのが非常に簡単でした(少なくともLinuxの場合)。コマンドラインツールはモデル実行のルートで実行でき、スクリプトはRoutput
ディレクトリに一連のRオブジェクトとプロットを生成します。RとPythonは、Pythonコードとは別にRコードを簡単にデバッグできることでした。
Rpy
は、RとPythonとの間で多くの往復通信が必要な場合に本当に輝くと思います。しかし、機能がうまく分離でき、ディスクI/Oのオーバーヘッドがそれほど悪くない場合、 system
呼び出しに固執します。システムコールに関する詳細については ?system
を、コマンドラインツールとしてRスクリプトを実行するには Rscript
を参照してください。
RコードをPythonの方法で記述したい場合、すべてのソリューションでRコードをR構文で記述する必要があるため、これは不可能です。Rpy
の場合、これはR構文を意味しますが、少し異なります(たとえば.
はありません。)Rpy
を介してRを使用するショートカットがないことに@gaudenに同意します。