【python】PsychoPyからRを使う

      【python】PsychoPyからRを使う はコメントを受け付けていません

この記事は第4回Hijiyama.Rの準備記事です。

pythonに手を出したものの,なかなかゼロから実験を組むほどには習熟できず,心理実験用の強力なGUIであるPsychoPy Builderをいじっては喜んでいたわけですが,先日こんな記事を見つけました。

pythonで心理実験 例題25-1:Standalone PsychoPyのパッケージを追加・更新する

てっきりPsychoPyには外部からパッケージはインストールできず,予め実装されているものを使うしかないと思っていたのですが,やりようによってはパッケージの追加・更新ができるということです。

ということは,PythonとRを連携するためのパッケージであるPypeRをインストールすれば,PychoPy上でRを動かすことができるのでは?

Builderで作った実験コードにRの分析コードを追記して,実験を回すたびに逐次的に分析結果やグラフが更新されるようにできたら素敵やん,と考えたのでやってみました。

手順は以下の通りです↓

  1. RとPsychoPyにpathを通す
  2. PsychoPyにeazy_installパッケージを追加する
  3. 追加したeazy_installでpip installパッケージを更新する
  4. pip installでPypeRパッケージをインストールする

1. RとPsychoPyにpathを通す

ユーザー環境変数に”PATH”を追加し,RとPsychoPyにpathを通します。

僕の環境だと以下のようになります

R → C:¥Program Files¥R¥R-3.1.0¥bin

PsychoPy →  C:¥Program Files (x86)¥PsychoPy2¥Scripts

コマンドプロンプトで”R”,”Python”とそれぞれ入力してpathが通ったかどうか確認しておくと良いでしょう。

なお,システム環境変数に古いバージョンのRのpathが残っていたりするとうまく通りません。

僕はこれに気づくのに小一時間かかりました


2. PsychoPyにeazy_installパッケージを追加する

上記サイトを参考に,PsychoPyにeazy_installパッケージを追加します。

ez_setup.pyのコード(https://bootstrap.pypa.io/ez_setup.py)を”名前をつけてリンク先を保存”で保存し,先ほどpathを通したPsychoPyの中の”Scripts”フォルダに置きます。

コマンドプロンプトからpythonを介して実行します。

スクリーンショット 2016-03-03 17.19.49

なお,上記サイトではez_setup.pyをデスクトップから展開していましたが,僕の環境だとうまくいきませんでした。PsychoPy以外にもPython34がインストールされているので,その辺りが原因かもしれません。


3. 追加したeazy_installでpip installパッケージを更新する

“eazy_install –upgrade pip”コマンドでpipを更新します。

eazy_installもpip installも,パッケージをインストールするためのパッケージなのですが,PsychoPyの中のこれらは使えない状態になっているため,更新してやる必要があるということです。

psychopy2


4.pip installでPypeRパッケージをインストールする

更新したpip installでPypeRをインストールします。

psychopy3

PsychoPy2 → Lib → site-packages フォルダにPypeRのフォルダが作成されていればインストール成功です。

 

PsychoPy Coder上でRが動くかどうか確かめてみましょう。

 


PsychoPy CoderでRを動かす

Psychopyを起動し,Coderに以下のようなコードを打ち込みます。

 

PypeRをインポートし, pyper.R(“Rcode“) とすることで,Python上でRのコードを走らせることができます。

上の例では略記のため, r=pyper.R() としています。

うまく走れば,Coderの出力に見慣れたRのt検定の結果が表示されるはずです。