SlideShare a Scribd company logo
1 of 11
Download to read offline
PypeRで実験と分析を
一本化する
広島大学大学院 教育学研究科	
山根 嵩史	
2016.05.28
Hijiyama.R #4
PythonとR	
 
とは...	
• 強力かつ高速な汎用プログラミング言語
• 無償+オープンソース
• 何でもできるが,心理学の分野では主に実験制御に使われる	
とは...	
• 統計処理を目的とするプログラミング言語	
• 無償+オープンソース	
• データ処理・統計処理に関してはだいたい何でもできる
 データ整形,広範&高度な統計処理,作図 etc…
PypeRとは	
 
• Python   とR  をpypeするから“PypeR”
• 要するに,Python上でRを走らせちゃおうぜ!というパッケージ
• Python で実験制御
+
R でデータ整形・解析 という環境が実現	
実験と分析が  
両方そなわり  
最強に見える
3秒で分かるPypeR	
 
ここにPythonとRの	
  
コードがあるじゃろ?	
 	
  
  (	
  ^ω^)	
  	
  
 ⊃Python R⊂	
こうじゃ	
  
  (	
  ^ω^)	
  	
  
 ⊃pyper.R(“Rcode”)⊂	
これをこうして...	
  	
  
  (	
  ^ω^)	
  	
  
  ≡⊃⊂	
 ≡
(にわかPythonユーザなので)	
  PsychoPy使いまーす	
 
• Python言語をベースとした心理実験用のアプリケーション
• 無償+オープンソース
• 強力なGUIも備えており,直感的に心理実験を組み立てること
ができる
PsychoPy とは...
(にわか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 とは...
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で以下のコマンドを実行
もうちょっと高度なことをする	
 
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側でグラフを作成し,保存
  ※グラフウィンドウが出ないため  
    保存が必要。要検討
こんなこともできます	
 
• PsychoPy Builderで作った実験にRコードを追記して
  ①実験を行う度にデータセットを更新し
  ②検定とグラフの出力を行う     ようにセッティング	
Pythonの実験結果からRTを抽出し,assignでRに渡す	
 
これまでの実験データをRで呼び出し	
  
渡されたデータを追加して更新	
 
検定と結果の出力	
 
Figureの作図と保存
こんなこともできます	
 
• 実験を走らせるだけで検定結果とグラフが出力される	
実
験
す
る
	
 
分
析
まとめ	
 
• 実験と分析が一本化できたら便利だと思った(けど毎回分析を
走らせる必要性は無いかも)
• ロング型の煩雑なデータが出力されるような実験で,すぐにR
にデータを渡して整形・分析したりできる
• Rには高度な統計技術の蓄積があるので,それらをPythonで
使えるのは強み(もちろんlibrary( )やsource( )も使えます)
• 無償で実験から分析までできるのはヤバすぎてヤバい

More Related Content

What's hot

FDRの使い方 (Kashiwa.R #3)
FDRの使い方 (Kashiwa.R #3)FDRの使い方 (Kashiwa.R #3)
FDRの使い方 (Kashiwa.R #3)
Haruka Ozaki
 
Rで階層ベイズモデル
Rで階層ベイズモデルRで階層ベイズモデル
Rで階層ベイズモデル
Yohei Sato
 
不均衡データのクラス分類
不均衡データのクラス分類不均衡データのクラス分類
不均衡データのクラス分類
Shintaro Fukushima
 
情報抽出入門 〜非構造化データを構造化させる技術〜
情報抽出入門 〜非構造化データを構造化させる技術〜情報抽出入門 〜非構造化データを構造化させる技術〜
情報抽出入門 〜非構造化データを構造化させる技術〜
Yuya Unno
 
条件付き確率場の推論と学習
条件付き確率場の推論と学習条件付き確率場の推論と学習
条件付き確率場の推論と学習
Masaki Saito
 

What's hot (20)

20230216_Python機械学習プログラミング.pdf
20230216_Python機械学習プログラミング.pdf20230216_Python機械学習プログラミング.pdf
20230216_Python機械学習プログラミング.pdf
 
Data-Centric AIの紹介
Data-Centric AIの紹介Data-Centric AIの紹介
Data-Centric AIの紹介
 
FDRの使い方 (Kashiwa.R #3)
FDRの使い方 (Kashiwa.R #3)FDRの使い方 (Kashiwa.R #3)
FDRの使い方 (Kashiwa.R #3)
 
Rcppのすすめ
RcppのすすめRcppのすすめ
Rcppのすすめ
 
『バックドア基準の入門』@統数研研究集会
『バックドア基準の入門』@統数研研究集会『バックドア基準の入門』@統数研研究集会
『バックドア基準の入門』@統数研研究集会
 
Rで階層ベイズモデル
Rで階層ベイズモデルRで階層ベイズモデル
Rで階層ベイズモデル
 
最適輸送入門
最適輸送入門最適輸送入門
最適輸送入門
 
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜
 
非劣性試験の入門
非劣性試験の入門非劣性試験の入門
非劣性試験の入門
 
Recent Advances on Transfer Learning and Related Topics Ver.2
Recent Advances on Transfer Learning and Related Topics Ver.2Recent Advances on Transfer Learning and Related Topics Ver.2
Recent Advances on Transfer Learning and Related Topics Ver.2
 
不均衡データのクラス分類
不均衡データのクラス分類不均衡データのクラス分類
不均衡データのクラス分類
 
トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?
 
【BERT】自然言語処理を用いたレビュー分析
【BERT】自然言語処理を用いたレビュー分析【BERT】自然言語処理を用いたレビュー分析
【BERT】自然言語処理を用いたレビュー分析
 
情報抽出入門 〜非構造化データを構造化させる技術〜
情報抽出入門 〜非構造化データを構造化させる技術〜情報抽出入門 〜非構造化データを構造化させる技術〜
情報抽出入門 〜非構造化データを構造化させる技術〜
 
自然言語処理による議論マイニング
自然言語処理による議論マイニング自然言語処理による議論マイニング
自然言語処理による議論マイニング
 
条件付き確率場の推論と学習
条件付き確率場の推論と学習条件付き確率場の推論と学習
条件付き確率場の推論と学習
 
A summary on “On choosing and bounding probability metrics”
A summary on “On choosing and bounding probability metrics”A summary on “On choosing and bounding probability metrics”
A summary on “On choosing and bounding probability metrics”
 
Depth Estimation論文紹介
Depth Estimation論文紹介Depth Estimation論文紹介
Depth Estimation論文紹介
 
統計学勉強会#2
統計学勉強会#2統計学勉強会#2
統計学勉強会#2
 
トピックモデルの基礎と応用
トピックモデルの基礎と応用トピックモデルの基礎と応用
トピックモデルの基礎と応用
 

Viewers also liked (7)

がんばろう!はじめてのDnn!
がんばろう!はじめてのDnn!がんばろう!はじめてのDnn!
がんばろう!はじめてのDnn!
 
ggplot2用例集 入門編
ggplot2用例集 入門編ggplot2用例集 入門編
ggplot2用例集 入門編
 
Mendeleyで簡単! 論文管理
Mendeleyで簡単! 論文管理Mendeleyで簡単! 論文管理
Mendeleyで簡単! 論文管理
 
要因計画データに対するベイズ推定アプローチ
要因計画データに対するベイズ推定アプローチ要因計画データに対するベイズ推定アプローチ
要因計画データに対するベイズ推定アプローチ
 
信号検出理論 (『実践ベイズモデリング』15章)
信号検出理論 (『実践ベイズモデリング』15章)信号検出理論 (『実践ベイズモデリング』15章)
信号検出理論 (『実践ベイズモデリング』15章)
 
Osaka.stan#4 chap8
Osaka.stan#4 chap8Osaka.stan#4 chap8
Osaka.stan#4 chap8
 
(実験心理学徒だけど)一般化線形混合モデルを使ってみた
(実験心理学徒だけど)一般化線形混合モデルを使ってみた(実験心理学徒だけど)一般化線形混合モデルを使ってみた
(実験心理学徒だけど)一般化線形混合モデルを使ってみた
 

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

統計用言語Rの使い方
統計用言語Rの使い方統計用言語Rの使い方
統計用言語Rの使い方
Ak Ok
 

Similar to PypeRで実験と分析を一本化する (20)

Rブートキャンプ
RブートキャンプRブートキャンプ
Rブートキャンプ
 
Rでダイエット
RでダイエットRでダイエット
Rでダイエット
 
S06 t1 python学習奮闘記#4
S06 t1 python学習奮闘記#4S06 t1 python学習奮闘記#4
S06 t1 python学習奮闘記#4
 
TokyoR101_BeginnersSession1.pdf
TokyoR101_BeginnersSession1.pdfTokyoR101_BeginnersSession1.pdf
TokyoR101_BeginnersSession1.pdf
 
弁理士が知っておきたいPython①
弁理士が知っておきたいPython①弁理士が知っておきたいPython①
弁理士が知っておきたいPython①
 
LLoT ランゲージアップデート Python
LLoT ランゲージアップデート PythonLLoT ランゲージアップデート Python
LLoT ランゲージアップデート Python
 
PyPy 紹介
PyPy 紹介PyPy 紹介
PyPy 紹介
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
 
Why python
Why pythonWhy python
Why python
 
R超入門
R超入門R超入門
R超入門
 
統計用言語Rの使い方
統計用言語Rの使い方統計用言語Rの使い方
統計用言語Rの使い方
 
Why python
Why pythonWhy python
Why python
 
S08 t0 orientation
S08 t0 orientationS08 t0 orientation
S08 t0 orientation
 
Pythonによる画像処理について
Pythonによる画像処理についてPythonによる画像処理について
Pythonによる画像処理について
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
 
Rの導入とRStudio事始め(改訂版)
Rの導入とRStudio事始め(改訂版)Rの導入とRStudio事始め(改訂版)
Rの導入とRStudio事始め(改訂版)
 
Rはいいぞ!むしろなぜ使わないのか!!
Rはいいぞ!むしろなぜ使わないのか!!Rはいいぞ!むしろなぜ使わないのか!!
Rはいいぞ!むしろなぜ使わないのか!!
 
Django_fukuoka
Django_fukuokaDjango_fukuoka
Django_fukuoka
 
プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022
プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022
プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022
 
Django_Fukuoka
Django_FukuokaDjango_Fukuoka
Django_Fukuoka
 

More from Takashi Yamane

MCMCによる回帰分析@ベイズセミナー
MCMCによる回帰分析@ベイズセミナーMCMCによる回帰分析@ベイズセミナー
MCMCによる回帰分析@ベイズセミナー
Takashi Yamane
 
第一回広島ベイズ塾・最小二乗法
第一回広島ベイズ塾・最小二乗法第一回広島ベイズ塾・最小二乗法
第一回広島ベイズ塾・最小二乗法
Takashi Yamane
 
Anova君を使った分散分析
Anova君を使った分散分析Anova君を使った分散分析
Anova君を使った分散分析
Takashi Yamane
 

More from Takashi Yamane (8)

ベイズモデリングによる第2種信号検出モデルの表現
ベイズモデリングによる第2種信号検出モデルの表現ベイズモデリングによる第2種信号検出モデルの表現
ベイズモデリングによる第2種信号検出モデルの表現
 
DiagrammeRと仲良くなった話ーグラフィカルモデルのためのDiagrammeR速習ー
DiagrammeRと仲良くなった話ーグラフィカルモデルのためのDiagrammeR速習ーDiagrammeRと仲良くなった話ーグラフィカルモデルのためのDiagrammeR速習ー
DiagrammeRと仲良くなった話ーグラフィカルモデルのためのDiagrammeR速習ー
 
ガンマ分布 @魁!!広島ベイズ塾
ガンマ分布 @魁!!広島ベイズ塾ガンマ分布 @魁!!広島ベイズ塾
ガンマ分布 @魁!!広島ベイズ塾
 
ANOVA君とanovatan
ANOVA君とanovatanANOVA君とanovatan
ANOVA君とanovatan
 
MCMCによる回帰分析@ベイズセミナー
MCMCによる回帰分析@ベイズセミナーMCMCによる回帰分析@ベイズセミナー
MCMCによる回帰分析@ベイズセミナー
 
第一回広島ベイズ塾・最小二乗法
第一回広島ベイズ塾・最小二乗法第一回広島ベイズ塾・最小二乗法
第一回広島ベイズ塾・最小二乗法
 
Anova君を使った分散分析
Anova君を使った分散分析Anova君を使った分散分析
Anova君を使った分散分析
 
Rstudio事始め
Rstudio事始めRstudio事始め
Rstudio事始め
 

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