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

リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介Recruit Technologies
 
負の二項分布について
負の二項分布について負の二項分布について
負の二項分布についてHiroshi Shimizu
 
機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話Ryota Kamoshida
 
Rはいいぞ!むしろなぜ使わないのか!!
Rはいいぞ!むしろなぜ使わないのか!!Rはいいぞ!むしろなぜ使わないのか!!
Rはいいぞ!むしろなぜ使わないのか!!Shushi Namba
 
Stanの便利な事後処理関数
Stanの便利な事後処理関数Stanの便利な事後処理関数
Stanの便利な事後処理関数daiki hojo
 
Rにおける大規模データ解析(第10回TokyoWebMining)
Rにおける大規模データ解析(第10回TokyoWebMining)Rにおける大規模データ解析(第10回TokyoWebMining)
Rにおける大規模データ解析(第10回TokyoWebMining)Shintaro Fukushima
 
充足可能性問題のいろいろ
充足可能性問題のいろいろ充足可能性問題のいろいろ
充足可能性問題のいろいろHiroshi Yamashita
 
Prophet入門【Python編】Facebookの時系列予測ツール
Prophet入門【Python編】Facebookの時系列予測ツールProphet入門【Python編】Facebookの時系列予測ツール
Prophet入門【Python編】Facebookの時系列予測ツールhoxo_m
 
機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)Kota Matsui
 
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)Shota Imai
 
[DL輪読会]Deep Learning 第15章 表現学習
[DL輪読会]Deep Learning 第15章 表現学習[DL輪読会]Deep Learning 第15章 表現学習
[DL輪読会]Deep Learning 第15章 表現学習Deep Learning JP
 
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定Akira Masuda
 
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜Preferred Networks
 
5分でわかるかもしれないglmnet
5分でわかるかもしれないglmnet5分でわかるかもしれないglmnet
5分でわかるかもしれないglmnetNagi Teramo
 
指数分布とポアソン分布のいけない関係
指数分布とポアソン分布のいけない関係指数分布とポアソン分布のいけない関係
指数分布とポアソン分布のいけない関係Nagi Teramo
 
Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)Yoshitaka Ushiku
 
[DL輪読会]Control as Inferenceと発展
[DL輪読会]Control as Inferenceと発展[DL輪読会]Control as Inferenceと発展
[DL輪読会]Control as Inferenceと発展Deep Learning JP
 
畳み込みLstm
畳み込みLstm畳み込みLstm
畳み込みLstmtak9029
 

What's hot (20)

リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介
 
負の二項分布について
負の二項分布について負の二項分布について
負の二項分布について
 
機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話
 
Rはいいぞ!むしろなぜ使わないのか!!
Rはいいぞ!むしろなぜ使わないのか!!Rはいいぞ!むしろなぜ使わないのか!!
Rはいいぞ!むしろなぜ使わないのか!!
 
Stanの便利な事後処理関数
Stanの便利な事後処理関数Stanの便利な事後処理関数
Stanの便利な事後処理関数
 
Rにおける大規模データ解析(第10回TokyoWebMining)
Rにおける大規模データ解析(第10回TokyoWebMining)Rにおける大規模データ解析(第10回TokyoWebMining)
Rにおける大規模データ解析(第10回TokyoWebMining)
 
充足可能性問題のいろいろ
充足可能性問題のいろいろ充足可能性問題のいろいろ
充足可能性問題のいろいろ
 
Prophet入門【Python編】Facebookの時系列予測ツール
Prophet入門【Python編】Facebookの時系列予測ツールProphet入門【Python編】Facebookの時系列予測ツール
Prophet入門【Python編】Facebookの時系列予測ツール
 
Rの高速化
Rの高速化Rの高速化
Rの高速化
 
機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)
 
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
 
[DL輪読会]Deep Learning 第15章 表現学習
[DL輪読会]Deep Learning 第15章 表現学習[DL輪読会]Deep Learning 第15章 表現学習
[DL輪読会]Deep Learning 第15章 表現学習
 
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定
 
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
 
5分でわかるかもしれないglmnet
5分でわかるかもしれないglmnet5分でわかるかもしれないglmnet
5分でわかるかもしれないglmnet
 
指数分布とポアソン分布のいけない関係
指数分布とポアソン分布のいけない関係指数分布とポアソン分布のいけない関係
指数分布とポアソン分布のいけない関係
 
Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)
 
[DL輪読会]Control as Inferenceと発展
[DL輪読会]Control as Inferenceと発展[DL輪読会]Control as Inferenceと発展
[DL輪読会]Control as Inferenceと発展
 
研究効率化Tips Ver.2
研究効率化Tips Ver.2研究効率化Tips Ver.2
研究効率化Tips Ver.2
 
畳み込みLstm
畳み込みLstm畳み込みLstm
畳み込みLstm
 

Viewers also liked

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

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ブートキャンプKosuke Sato
 
S06 t1 python学習奮闘記#4
S06 t1 python学習奮闘記#4S06 t1 python学習奮闘記#4
S06 t1 python学習奮闘記#4Takeshi Akutsu
 
TokyoR101_BeginnersSession1.pdf
TokyoR101_BeginnersSession1.pdfTokyoR101_BeginnersSession1.pdf
TokyoR101_BeginnersSession1.pdfkotora_0507
 
弁理士が知っておきたいPython①
弁理士が知っておきたいPython①弁理士が知っておきたいPython①
弁理士が知っておきたいPython①Tajima Ryosuke
 
LLoT ランゲージアップデート Python
LLoT ランゲージアップデート PythonLLoT ランゲージアップデート Python
LLoT ランゲージアップデート Pythonhirokiky
 
PyPy 紹介
PyPy 紹介PyPy 紹介
PyPy 紹介shoma h
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版Katsuhiro Morishita
 
統計用言語Rの使い方
統計用言語Rの使い方統計用言語Rの使い方
統計用言語Rの使い方Ak Ok
 
Pythonによる画像処理について
Pythonによる画像処理についてPythonによる画像処理について
Pythonによる画像処理についてYasutomo Kawanishi
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識Katsuhiro Morishita
 
Rの導入とRStudio事始め(改訂版)
Rの導入とRStudio事始め(改訂版)Rの導入とRStudio事始め(改訂版)
Rの導入とRStudio事始め(改訂版)Takashi Yamane
 
プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022
プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022
プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022Takayuki Shimizukawa
 
言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyoShuyo Nakatani
 

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事始め(改訂版)
 
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
 
言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo
 

More from Takashi Yamane

ベイズモデリングによる第2種信号検出モデルの表現
ベイズモデリングによる第2種信号検出モデルの表現ベイズモデリングによる第2種信号検出モデルの表現
ベイズモデリングによる第2種信号検出モデルの表現Takashi Yamane
 
DiagrammeRと仲良くなった話ーグラフィカルモデルのためのDiagrammeR速習ー
DiagrammeRと仲良くなった話ーグラフィカルモデルのためのDiagrammeR速習ーDiagrammeRと仲良くなった話ーグラフィカルモデルのためのDiagrammeR速習ー
DiagrammeRと仲良くなった話ーグラフィカルモデルのためのDiagrammeR速習ーTakashi Yamane
 
ガンマ分布 @魁!!広島ベイズ塾
ガンマ分布 @魁!!広島ベイズ塾ガンマ分布 @魁!!広島ベイズ塾
ガンマ分布 @魁!!広島ベイズ塾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で実験と分析を一本化する