Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

PypeRで実験と分析を一本化する

3,257 views

Published on

Hijiyama.R#4での発表資料です。

Published in: Data & Analytics
  • Be the first to comment

PypeRで実験と分析を一本化する

  1. 1. PypeRで実験と分析を 一本化する 広島大学大学院 教育学研究科 山根 嵩史 2016.05.28 Hijiyama.R #4
  2. 2. PythonとR とは... • 強力かつ高速な汎用プログラミング言語 • 無償+オープンソース • 何でもできるが,心理学の分野では主に実験制御に使われる とは... • 統計処理を目的とするプログラミング言語 • 無償+オープンソース • データ処理・統計処理に関してはだいたい何でもできる  データ整形,広範&高度な統計処理,作図 etc…
  3. 3. PypeRとは • Python   とR  をpypeするから“PypeR” • 要するに,Python上でRを走らせちゃおうぜ!というパッケージ • Python で実験制御 + R でデータ整形・解析 という環境が実現 実験と分析が 両方そなわり 最強に見える
  4. 4. 3秒で分かるPypeR ここにPythonとRの   コードがあるじゃろ?     (  ^ω^)      ⊃Python R⊂ こうじゃ     (  ^ω^)      ⊃pyper.R(“Rcode”)⊂ これをこうして...       (  ^ω^)       ≡⊃⊂ ≡
  5. 5. (にわかPythonユーザなので)  PsychoPy使いまーす • Python言語をベースとした心理実験用のアプリケーション • 無償+オープンソース • 強力なGUIも備えており,直感的に心理実験を組み立てること ができる PsychoPy とは...
  6. 6. (にわかPythonユーザなので)  PsychoPy使いまーす • PsychoPyについては   『PsychoPy講座』 (http://ogwlab.org/?page_id=460)   『PsychoPy Builderで作る心理学実験』 (http://www.s12600.net/psy/python/ppb/index.html)  にて詳しく説明されています   • なお,PsychoPyにPypeRをインストールするのはちょっと手間 なので   『【python】PsychoPyからRを使う』 (http://tyamane1969.net/?p=136)  の記事を参考にしてください PsychoPy とは...
  7. 7. PsychoPy CoderでRを動かす import  pyper     r=pyper.R()     r("dat1<-­‐c(1:10)")   r("dat2<-­‐c(10:20)")   print  r("t.test(dat1,dat2)") ⇦ PypeRパッケージをインポート ⇦ pyper.Rの入力を簡略化 ⇦ “ ”の内部にRのコマンド   今回は2つのベクトルを作成し   t検定を実施 • PsychoPy Coderで以下のコマンドを実行
  8. 8. もうちょっと高度なことをする import  pyper   import  numpy  as  np     r=pyper.R()     data1  =  np.array([[1,2,3,4,5],[0.5,1.5,2.5,3.5,4.5]])     r.assign("dat",data1)   print  r("dat")     r("setwd('C:/temp')")     print  r("mean(dat[1,])")   print  r("mean(dat[2,])")     r("png('plot1.png')")   r("plot(dat[1,])")   r("dev.off()")   numpyパッケージを使って ⇦ Python側で行列を作成 ⇦ r.assign( )でRにデータを渡す ⇦ R側で関数を適用 • Pythonで作ったデータをRに渡す pyper.R.assign( ) • Rで解析した結果をPythonに返す pyper.R.get( ) ⇦ R側でグラフを作成し,保存   ※グラフウィンドウが出ないため       保存が必要。要検討
  9. 9. こんなこともできます • PsychoPy Builderで作った実験にRコードを追記して   ①実験を行う度にデータセットを更新し   ②検定とグラフの出力を行う     ようにセッティング Pythonの実験結果からRTを抽出し,assignでRに渡す これまでの実験データをRで呼び出し   渡されたデータを追加して更新 検定と結果の出力 Figureの作図と保存
  10. 10. こんなこともできます • 実験を走らせるだけで検定結果とグラフが出力される 実 験 す る 分 析
  11. 11. まとめ • 実験と分析が一本化できたら便利だと思った(けど毎回分析を 走らせる必要性は無いかも) • ロング型の煩雑なデータが出力されるような実験で,すぐにR にデータを渡して整形・分析したりできる • Rには高度な統計技術の蓄積があるので,それらをPythonで 使えるのは強み(もちろんlibrary( )やsource( )も使えます) • 無償で実験から分析までできるのはヤバすぎてヤバい

×