Successfully reported this slideshow.
Your SlideShare is downloading. ×

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

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 33 Ad

More Related Content

Slideshows for you (20)

Advertisement

Recently uploaded (20)

Advertisement

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

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

×