SlideShare a Scribd company logo
RでMplusがもっと便利に
––mplusAutomationパッケージ––
広島大学大学院教育学研究科
 徳岡 大
1
HiRoshima.R #5
2015年9月19日
この発表の予定
•  ⾃自⼰己紹介
•  Mplusについて
•  mplusAutomationパッケージの紹介
•  データ整形
•  分析の実⾏行行
•  出⼒力力の調整
2
自己紹介
•  徳岡  ⼤大(とくおか  まさる)
•  広島⼤大学⼤大学院教育学研究科D4
•  動機づけ,⽬目標理理論論なんかの研究してます
•  R歴:4年年⽬目。思い通りに関数とか使えないし作れない
まだまだ初⼼心者
•  twitter:      @t_̲macya
•  DARM(RとMplusを使⽤用した医療療・⼼心理理データ解析勉強会)
を主催しています。今年年も1回くらいは開催したい。。
3
本発表のモチベーション
•  これまでHiRoshima.Rに参加できなかった無念念
•  なんだか今回は発表者が少なそう,チャンスかも?
•  せっかく参加するなら⾃自分の覚書としての発表を
•  あと⾃自⼰己紹介のため
4
ところでMplusって知ってますか?
•  Muthén  &  Muthénが作成した統計解析ソフト
•  構造⽅方程式モデリングを使⽤用する分析ならほとんど
実装されている
•  マルチレベルSEM,潜在混合分布モデル,項⽬目反
応理理論論とSEMを組み合わせた分析等
•  打ち切切り,カウント,カテゴリカルデータ対応
•  ⽋欠損値への対応も充実(デフォルトでFIML)
•  もちろんベイズ推定だって可能
•  コードが⽐比較的単純!
•  解析速度度も速い!!(Rstanで19秒がMplusで0秒)
5
Mplusの基本
•  主に3種類のファイルがある
•  .inp:inputファイル。ここにモデルを書いたり,
データを読み込むコード書いたりする
•  .out:outputファイル分析結果を出⼒力力する
ファイル。inputファイルを⾛走らせると⾃自動的に
⽣生成される
•  .txt,  .dat,  .csv:読み込ませるデータセットが
⼊入ったファイル。変数はinputファイルで指定
するので,変数名がない(1⾏行行⽬目からデータが
始まる)状態にしておく必要がある
6
こんな感じのコード
7
•  CFAの場合
•  12項⽬目4因⼦子モデル
•  因⼦子の分散を1に固定
•  因⼦子負荷量量は⾃自由推定
こんな感じの出力
8
図も簡単にできる
9
日本語の解説書だってある!
•  13章の潜在曲線モデルを
書きました
•  ぜひご贔屓に!
•  Slideshare  にも⼩小杉先⽣生や
関⻄西学院⼤大学の清⽔水先⽣生の
Mplusに関する資料料が
転がっています
•  http://www.slideshare.net/KojiKosugi/
mplus-‐‑‒tutorial
•  http://www.slideshare.net/simizu706/
mplus-‐‑‒lecture-‐‑‒1?related=1
•  http://www.slideshare.net/simizu706/
mplus-‐‑‒lecture-‐‑‒2?related=2
10
Mplusのデメリット
•  残念念ながら有料料
•  デモ版:無料料!従属変数6つまで,独⽴立立変数2つ
まで,2レベルまで,分析はいろいろ可能
•  ⽇日本語完全⾮非対応
•  ファイルのパスに⽇日本語があるだけでエラー
•  1つのファイルは1種類の分析に対応するので,
ファイル数が増えがち
•  データセットに変数名を⼊入れてはいけないので,
そのままではRで使⽤用するファイルと連携や共有
しにくい
•  データハンドリングは苦⼿手な気がする  (実はできる)11
なぜR勉強会でMplus??
12
•  Rはちゃんと使えれば,データハンドリングもグラ
フィカルな部分もきれいにできる!
•  基本的な分析はRに任せて,複雑なモデルのときに
Mplusを使っていけば,Mplusのデメリットはだい
たい解決!!…する?
•  Mplusではデータセットに変数名が含まれてはい
けない。めんどくさい作業がのこってしまう
•  モデル⽐比較やクラスターの数を求める場合,分析
数は増えるので,ファイルは多くなり,結果を⾒見見
⽐比べにくい
•  あとで分析をやり直す時にソフトウェアが異異なる
のはけっこうめんどくさい
mplusAutomationパッケージ
•  Rで使⽤用したデータセットをMplus⽤用に整形可能
•  R上でMplusを動かすことが可能
•  つまり,R上に分析の流流れのログを残せる!
+α
•  特定の指標のみを抽出可能
•  複数のモデルを⽐比較する時に並べて⽐比較可能
•  そのまま論論⽂文等に報告可能な形での出⼒力力も可能
•  クラスター数を変化させた分析もコードやファイル
数を減らし,簡便便に実⾏行行可能
13
今回扱う仮想データの紹介
•  徳岡・杉村・前⽥田(投稿中)のデータに基づく仮想
データセット
•  2  (習得,遂⾏行行)✖2  (接近,回避)の組み合わせで
4つの質の異異なる⽬目標を測定しているつもり
•  互いに相関しあう4因⼦子が仮定されている
•  本当に4因⼦子構造が適切切なのか
•  習得と遂⾏行行,接近と回避が弁別される構造を
持っているか検討したい
•  最終的には7つのモデルを⽐比較する必要あり
14
R上でMplusの実行
•  runModels関数
•  データのファイルとMplusのinputファイルが保
存されているフォルダのパスをしてするだけ  
•  指定したフォルダ内の.inpファイルを全て実⾏行行
•  サブフォルダのファイルまで⾛走らせたい場合は引数
に                                        
•  変更更を加えた.inpファイルだけ実⾏行行したい場合は
引数に
15
結果の抽出1
•  extractModelSummaries関数
•  フォルダのパスを引数に指定
•  サブフォルダがあるならrecursive  =  TRUEも
•  Dataframeにsummariesが格納される
•  特定のファイルのみ出⼒力力したい場合は引数に
                                                                のように指定
”ファイル名.*”のように拡張⼦子の代わりに”*”を 16
結果の抽出2
•  表に必要な結果をsubset関数で抽出して,
データフレームにする
17
パスの指定が面倒くさい人に朗報
•  mplusAutomationが参照のするのはRで指定されて
いるディレクトリ
⽅方法1
•  setwd()でMplusのデータが含まれるフォルダを
ディレクトリに指定すればフォルダまでのパスを指
定しなくても簡単に実⾏行行できる!
•  runModels  ()
•  extractModelSummaries  ()
18
パスの指定が面倒くさい人に朗報
⽅方法2(途中に⽇日本語があると動かない)
•  Mplusのデータが含まれるフォルダを現在使ってい
るプロジェクトに⼊入れ,サブフォルダまで実⾏行行!
•  runModels  (recursive  =  TRUE)
•  extractModelSummaries  (recursive  =  TRUE)
•  RとMplusの両⽅方の分析コードがプロジェクト単位で
まとめられるので,データ管理理もらくらく
•  MacとWindowsのどちらも同じコードでOK!
19
結果の抽出3:並び替え
•  データフレームの変数名のところをクリックすると
昇順や降降順に並び替えられる
•  今回はAICに基づいて並び替えた
•  適合度度の⾼高いモデルがわかりやすい!!
•  write.csv関数とかで出⼒力力すればそのまま使える!
20
Latexの表にもできる!1
•  LatexSummaryTable関数でLatexにも対応
21
Latexの表にもできる!2
22
HTMLの表にもできる
23
モデルパラメタも抽出可能1
•  extractModelParameters関数
•  引数としてフォルダ名orファイル名までのパスを
記述してmodelResultsに結果を格納
•  フォルダの指定でフォルダ内のすべてのinput
ファイルの結果が格納される
24
格納した結果の抽出方法
•  リストで保存されるので,取り出したい値までの
パスを書いていけばOK
•  さらに格納することでデータフレームとして抽出可
25
パスが長くても大丈夫!
•  Rstudioなら“$”を⼊入⼒力力するとリストに含まれている
選択可能なファイルやパスを提⽰示してくれるので,
結果を⾒見見たいモデルをクリックすれば⾃自動的に⼊入⼒力力
される
26
こんな感じの出力
27
•  データフレームなので適当にいじってから,
write.csv  ()してしまえば,表も完成
ちなみに実はR上で全部できる
•  R上でMplusのinputファイルを作成も可能
•  変数はRのデータセットのものを利利⽤用できる!
•  注意:プロジェクトやディレクトリまでに⽇日本語の
パスがあるとたぶん動きません 28
Rで作成したinputファイルを実行
•  mplusModeler関数を使⽤用
•  引数に指定した.datファイルにデータセットが
変換される
•  run  =  0L  にするとdatasetとinputファイルは
作成されるが,解析は⾏行行われない
•  ファイルは作業ディレクトリの中に⽣生成される
29
結果の抽出1
30
結果の抽出2
•  より⾒見見やすい⽅方法(texregパッケージの使⽤用)
31
Mplus用データセットを作成するだけ
•  変数名を⾃自分で指定する必要なくなる
•  出⼒力力をMplusのEditorに貼り付けてモデルを書けば
変数を間違えて書いてしまうこともなくなる
32
まとめ
•  mplusAutomationの基本関数
•  runModels  (  ):指定したフォルダ内のinput
ファイルの実⾏行行
•  extractModelSummaries  (  ):指定した
フォルダ内のoutputファイルの適合度度指標を
データフレームとして出⼒力力
•  extractModelParameters  (  ):指定したファイル
(複数指定も可)の推定パラメタを出⼒力力
•  いずれもファイルやフォルダまでのフルパスを
書いて指⽰示することが必要
•  ほかにも尤度度⽐比検定などの便便利利な機能もある
33

More Related Content

What's hot

第4回DARM勉強会 (構造方程式モデリング)
第4回DARM勉強会 (構造方程式モデリング)第4回DARM勉強会 (構造方程式モデリング)
第4回DARM勉強会 (構造方程式モデリング)
Yoshitake Takebayashi
 
潜在クラス分析
潜在クラス分析潜在クラス分析
潜在クラス分析
Yoshitake Takebayashi
 
Mplus tutorial
Mplus tutorialMplus tutorial
Mplus tutorial
考司 小杉
 
階層ベイズによるワンToワンマーケティング入門
階層ベイズによるワンToワンマーケティング入門階層ベイズによるワンToワンマーケティング入門
階層ベイズによるワンToワンマーケティング入門shima o
 
心理学におけるベイズ統計の流行を整理する
心理学におけるベイズ統計の流行を整理する心理学におけるベイズ統計の流行を整理する
心理学におけるベイズ統計の流行を整理する
Hiroshi Shimizu
 
Stan超初心者入門
Stan超初心者入門Stan超初心者入門
Stan超初心者入門
Hiroshi Shimizu
 
心理学における「再現性」の問題とBayes Factor
心理学における「再現性」の問題とBayes Factor心理学における「再現性」の問題とBayes Factor
心理学における「再現性」の問題とBayes Factor
Shushi Namba
 
Stanコードの書き方 中級編
Stanコードの書き方 中級編Stanコードの書き方 中級編
Stanコードの書き方 中級編
Hiroshi Shimizu
 
社会心理学とGlmm
社会心理学とGlmm社会心理学とGlmm
社会心理学とGlmm
Hiroshi Shimizu
 
Stanの便利な事後処理関数
Stanの便利な事後処理関数Stanの便利な事後処理関数
Stanの便利な事後処理関数
daiki hojo
 
心理学者のためのGlmm・階層ベイズ
心理学者のためのGlmm・階層ベイズ心理学者のためのGlmm・階層ベイズ
心理学者のためのGlmm・階層ベイズ
Hiroshi Shimizu
 
1 4.回帰分析と分散分析
1 4.回帰分析と分散分析1 4.回帰分析と分散分析
1 4.回帰分析と分散分析
logics-of-blue
 
100614 構造方程式モデリング基本の「き」
100614 構造方程式モデリング基本の「き」100614 構造方程式モデリング基本の「き」
100614 構造方程式モデリング基本の「き」
Shinohara Masahiro
 
MCMCでマルチレベルモデル
MCMCでマルチレベルモデルMCMCでマルチレベルモデル
MCMCでマルチレベルモデル
Hiroshi Shimizu
 
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
. .
 
Stanでガウス過程
Stanでガウス過程Stanでガウス過程
Stanでガウス過程
Hiroshi Shimizu
 
第4回DARM勉強会 (多母集団同時分析)
第4回DARM勉強会 (多母集団同時分析)第4回DARM勉強会 (多母集団同時分析)
第4回DARM勉強会 (多母集団同時分析)
Masaru Tokuoka
 
ベイズモデリングで見る因子分析
ベイズモデリングで見る因子分析ベイズモデリングで見る因子分析
ベイズモデリングで見る因子分析
Shushi Namba
 
ノンパラベイズ入門の入門
ノンパラベイズ入門の入門ノンパラベイズ入門の入門
ノンパラベイズ入門の入門
Shuyo Nakatani
 

What's hot (20)

第4回DARM勉強会 (構造方程式モデリング)
第4回DARM勉強会 (構造方程式モデリング)第4回DARM勉強会 (構造方程式モデリング)
第4回DARM勉強会 (構造方程式モデリング)
 
潜在クラス分析
潜在クラス分析潜在クラス分析
潜在クラス分析
 
Mplus tutorial
Mplus tutorialMplus tutorial
Mplus tutorial
 
階層ベイズによるワンToワンマーケティング入門
階層ベイズによるワンToワンマーケティング入門階層ベイズによるワンToワンマーケティング入門
階層ベイズによるワンToワンマーケティング入門
 
心理学におけるベイズ統計の流行を整理する
心理学におけるベイズ統計の流行を整理する心理学におけるベイズ統計の流行を整理する
心理学におけるベイズ統計の流行を整理する
 
Stan超初心者入門
Stan超初心者入門Stan超初心者入門
Stan超初心者入門
 
心理学における「再現性」の問題とBayes Factor
心理学における「再現性」の問題とBayes Factor心理学における「再現性」の問題とBayes Factor
心理学における「再現性」の問題とBayes Factor
 
Stanコードの書き方 中級編
Stanコードの書き方 中級編Stanコードの書き方 中級編
Stanコードの書き方 中級編
 
社会心理学とGlmm
社会心理学とGlmm社会心理学とGlmm
社会心理学とGlmm
 
Stanの便利な事後処理関数
Stanの便利な事後処理関数Stanの便利な事後処理関数
Stanの便利な事後処理関数
 
心理学者のためのGlmm・階層ベイズ
心理学者のためのGlmm・階層ベイズ心理学者のためのGlmm・階層ベイズ
心理学者のためのGlmm・階層ベイズ
 
1 4.回帰分析と分散分析
1 4.回帰分析と分散分析1 4.回帰分析と分散分析
1 4.回帰分析と分散分析
 
100614 構造方程式モデリング基本の「き」
100614 構造方程式モデリング基本の「き」100614 構造方程式モデリング基本の「き」
100614 構造方程式モデリング基本の「き」
 
MCMCでマルチレベルモデル
MCMCでマルチレベルモデルMCMCでマルチレベルモデル
MCMCでマルチレベルモデル
 
Rで学ぶロバスト推定
Rで学ぶロバスト推定Rで学ぶロバスト推定
Rで学ぶロバスト推定
 
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
 
Stanでガウス過程
Stanでガウス過程Stanでガウス過程
Stanでガウス過程
 
第4回DARM勉強会 (多母集団同時分析)
第4回DARM勉強会 (多母集団同時分析)第4回DARM勉強会 (多母集団同時分析)
第4回DARM勉強会 (多母集団同時分析)
 
ベイズモデリングで見る因子分析
ベイズモデリングで見る因子分析ベイズモデリングで見る因子分析
ベイズモデリングで見る因子分析
 
ノンパラベイズ入門の入門
ノンパラベイズ入門の入門ノンパラベイズ入門の入門
ノンパラベイズ入門の入門
 

Similar to RでMplusがもっと便利にーmplusAutomationパッケージー #Hiroshimar05

rstanで情報仮説によるモデル評価してみる@Hjiyama.R
rstanで情報仮説によるモデル評価してみる@Hjiyama.Rrstanで情報仮説によるモデル評価してみる@Hjiyama.R
rstanで情報仮説によるモデル評価してみる@Hjiyama.RMasaru Tokuoka
 
Kandai R 入門者講習
Kandai R 入門者講習Kandai R 入門者講習
Kandai R 入門者講習
考司 小杉
 
[名古屋CV・PRML勉強会] ゼロからはじめたいDeep Learning
[名古屋CV・PRML勉強会] ゼロからはじめたいDeep Learning[名古屋CV・PRML勉強会] ゼロからはじめたいDeep Learning
[名古屋CV・PRML勉強会] ゼロからはじめたいDeep Learning
Hiroshi Fukui
 
MLOps Yearning ~ 実運用システムを構築する前にデータサイエンティストが考えておきたいこと
MLOps Yearning ~ 実運用システムを構築する前にデータサイエンティストが考えておきたいことMLOps Yearning ~ 実運用システムを構築する前にデータサイエンティストが考えておきたいこと
MLOps Yearning ~ 実運用システムを構築する前にデータサイエンティストが考えておきたいこと
Rakuten Group, Inc.
 
S12 t1 python学習奮闘記#5
S12 t1 python学習奮闘記#5S12 t1 python学習奮闘記#5
S12 t1 python学習奮闘記#5
Takeshi Akutsu
 
株売買AI作ってみた
株売買AI作ってみた株売買AI作ってみた
株売買AI作ってみた
祐馬 田邊
 

Similar to RでMplusがもっと便利にーmplusAutomationパッケージー #Hiroshimar05 (6)

rstanで情報仮説によるモデル評価してみる@Hjiyama.R
rstanで情報仮説によるモデル評価してみる@Hjiyama.Rrstanで情報仮説によるモデル評価してみる@Hjiyama.R
rstanで情報仮説によるモデル評価してみる@Hjiyama.R
 
Kandai R 入門者講習
Kandai R 入門者講習Kandai R 入門者講習
Kandai R 入門者講習
 
[名古屋CV・PRML勉強会] ゼロからはじめたいDeep Learning
[名古屋CV・PRML勉強会] ゼロからはじめたいDeep Learning[名古屋CV・PRML勉強会] ゼロからはじめたいDeep Learning
[名古屋CV・PRML勉強会] ゼロからはじめたいDeep Learning
 
MLOps Yearning ~ 実運用システムを構築する前にデータサイエンティストが考えておきたいこと
MLOps Yearning ~ 実運用システムを構築する前にデータサイエンティストが考えておきたいことMLOps Yearning ~ 実運用システムを構築する前にデータサイエンティストが考えておきたいこと
MLOps Yearning ~ 実運用システムを構築する前にデータサイエンティストが考えておきたいこと
 
S12 t1 python学習奮闘記#5
S12 t1 python学習奮闘記#5S12 t1 python学習奮闘記#5
S12 t1 python学習奮闘記#5
 
株売買AI作ってみた
株売買AI作ってみた株売買AI作ってみた
株売買AI作ってみた
 

More from Masaru Tokuoka

170826 tokyo r_lt
170826 tokyo r_lt170826 tokyo r_lt
170826 tokyo r_lt
Masaru Tokuoka
 
ポワソン分布の分布感をつかむ
ポワソン分布の分布感をつかむポワソン分布の分布感をつかむ
ポワソン分布の分布感をつかむ
Masaru Tokuoka
 
inferences with gaussians: 記法によるrstanの推定結果の違い
inferences with gaussians: 記法によるrstanの推定結果の違いinferences with gaussians: 記法によるrstanの推定結果の違い
inferences with gaussians: 記法によるrstanの推定結果の違い
Masaru Tokuoka
 
混合モデルを使って反復測定分散分析をする
混合モデルを使って反復測定分散分析をする混合モデルを使って反復測定分散分析をする
混合モデルを使って反復測定分散分析をする
Masaru Tokuoka
 
データ入力が終わってから分析前にすること
データ入力が終わってから分析前にすることデータ入力が終わってから分析前にすること
データ入力が終わってから分析前にすること
Masaru Tokuoka
 
MCMCで研究報告
MCMCで研究報告MCMCで研究報告
MCMCで研究報告
Masaru Tokuoka
 
ベイズ主義による研究の報告方法
ベイズ主義による研究の報告方法ベイズ主義による研究の報告方法
ベイズ主義による研究の報告方法
Masaru Tokuoka
 
第1回DARM勉強会のANOVA補足(repeated measures designs)
第1回DARM勉強会のANOVA補足(repeated measures designs)第1回DARM勉強会のANOVA補足(repeated measures designs)
第1回DARM勉強会のANOVA補足(repeated measures designs)
Masaru Tokuoka
 
第2回DARM勉強会
第2回DARM勉強会第2回DARM勉強会
第2回DARM勉強会
Masaru Tokuoka
 
第2回DARM勉強会.preacherによるmoderatorの検討
第2回DARM勉強会.preacherによるmoderatorの検討第2回DARM勉強会.preacherによるmoderatorの検討
第2回DARM勉強会.preacherによるmoderatorの検討
Masaru Tokuoka
 

More from Masaru Tokuoka (10)

170826 tokyo r_lt
170826 tokyo r_lt170826 tokyo r_lt
170826 tokyo r_lt
 
ポワソン分布の分布感をつかむ
ポワソン分布の分布感をつかむポワソン分布の分布感をつかむ
ポワソン分布の分布感をつかむ
 
inferences with gaussians: 記法によるrstanの推定結果の違い
inferences with gaussians: 記法によるrstanの推定結果の違いinferences with gaussians: 記法によるrstanの推定結果の違い
inferences with gaussians: 記法によるrstanの推定結果の違い
 
混合モデルを使って反復測定分散分析をする
混合モデルを使って反復測定分散分析をする混合モデルを使って反復測定分散分析をする
混合モデルを使って反復測定分散分析をする
 
データ入力が終わってから分析前にすること
データ入力が終わってから分析前にすることデータ入力が終わってから分析前にすること
データ入力が終わってから分析前にすること
 
MCMCで研究報告
MCMCで研究報告MCMCで研究報告
MCMCで研究報告
 
ベイズ主義による研究の報告方法
ベイズ主義による研究の報告方法ベイズ主義による研究の報告方法
ベイズ主義による研究の報告方法
 
第1回DARM勉強会のANOVA補足(repeated measures designs)
第1回DARM勉強会のANOVA補足(repeated measures designs)第1回DARM勉強会のANOVA補足(repeated measures designs)
第1回DARM勉強会のANOVA補足(repeated measures designs)
 
第2回DARM勉強会
第2回DARM勉強会第2回DARM勉強会
第2回DARM勉強会
 
第2回DARM勉強会.preacherによるmoderatorの検討
第2回DARM勉強会.preacherによるmoderatorの検討第2回DARM勉強会.preacherによるmoderatorの検討
第2回DARM勉強会.preacherによるmoderatorの検討
 

RでMplusがもっと便利にーmplusAutomationパッケージー #Hiroshimar05