keisukeのブログ

***乱雑です!自分用のメモです!*** 統計や機械学習の勉強と、読み物を書く練習と、備忘録用のブログ

pythonからRを使う

Rはデータ解析において多くの機能を備えた、言語としての事実上の標準です。
ところが、Rはその独特の記法や体系、解析以外の機能があまり好ましくありません*1

そこで、強烈な標準ライブラリと多くのサードパティ提供ライブラリを備えるpythonからRを使いましょう。
用意するのは、前提として

  • Rの実行環境
  • pythonの実行環境

です。
特に、pythonのライブラリとして、

  • rpy2

を使います。
rpy2経由でPythonからRにアクセスします。
環境変数の設定が必要でしたが、これはどれが実際に必要なのかちょっとわかりません。
特に害があるわけではないのでとりあえず設定しておけばいいと思います。

  • PATH変数にR.dllが含まれるディレクトリを追加
  • R_HOME変数を新設してRのワーキングスペースのディレクトリを追加
  • R_USER変数を新設してユーザネームを追加

使い方は:

from rpy2 import robjects as r

r.r('load(data.RData)')  # load data

r.r('sum(data)')
r.r('var(data)')
r.r('sd(data)')

r.r にRの実行文を文字列で渡せば良いだけです。

*1:ごめん