anova君を使った分散分析

29
ANOVA 君君君君君 君君君君 広広広広 広広広広広広 広広広広広広広広 (D1) 広広 広広

Upload: takashi-yamane

Post on 15-Jun-2015

3.850 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Anova君を使った分散分析

ANOVA君を使った分散分析ANOVA君を使った分散分析

広島大学 教育学研究科

学習心理学研究室 (D1)

山根 嵩史

広島大学 教育学研究科

学習心理学研究室 (D1)

山根 嵩史

Page 2: Anova君を使った分散分析

お品書きお品書き

R で分散分析をしよう

  -ANOVA 君とは

  -ANOVA 君の入手・読み込み

  -ANOVA 君の使い方

  -ANOVA 君の引数 ( 多重比較 )

ANOVA 君をもっと便利に

  -repAnova とは

  -repAnova の使い方

R で分散分析をしよう

  -ANOVA 君とは

  -ANOVA 君の入手・読み込み

  -ANOVA 君の使い方

  -ANOVA 君の引数 ( 多重比較 )

ANOVA 君をもっと便利に

  -repAnova とは

  -repAnova の使い方

Page 3: Anova君を使った分散分析

所属:広島大学教育学研究科 学習心理学研究室(D1)

専門領域:記憶 / メタ記憶 R 使用暦: 3 年弱

Twitter :      @T_Yamane

所属:広島大学教育学研究科 学習心理学研究室(D1)

専門領域:記憶 / メタ記憶 R 使用暦: 3 年弱

Twitter :      @T_Yamane

自己紹介自己紹介

Page 4: Anova君を使った分散分析

なんで HSP で発表を? 

Page 5: Anova君を使った分散分析

僕にも何がなんだか…

気がついたら発表することに

なっていました。 

Page 6: Anova君を使った分散分析

お品書きお品書き

R で分散分析をしよう

  -ANOVA 君とは

  -ANOVA 君の入手・読み込み

  -ANOVA 君の使い方

  -ANOVA 君の引数 ( 多重比較 )

ANOVA 君をもっと便利に

  -repAnova とは

  -repAnova の使い方

R で分散分析をしよう

  -ANOVA 君とは

  -ANOVA 君の入手・読み込み

  -ANOVA 君の使い方

  -ANOVA 君の引数 ( 多重比較 )

ANOVA 君をもっと便利に

  -repAnova とは

  -repAnova の使い方

Page 7: Anova君を使った分散分析

一元配置の分散分析を行う  oneway.test 関数高度な分析に対応した aov 関数, anova 関数

 ⇒ 出力がちょっと不親切

 ⇒ 多重比較までまとめてやってほしい

     R あるある

一元配置の分散分析を行う  oneway.test 関数高度な分析に対応した aov 関数, anova 関数

 ⇒ 出力がちょっと不親切

 ⇒ 多重比較までまとめてやってほしい

     R あるある

Rで分散分析Rで分散分析

Page 8: Anova君を使った分散分析

井関龍太 先生 ( 理化学研究所 ) によって

 作成された,分散分析用の関数R で分散分析をするならとりあえずこれで

OK

出力も美しい!

井関龍太 先生 ( 理化学研究所 ) によって

 作成された,分散分析用の関数R で分散分析をするならとりあえずこれで

OK

出力も美しい!

ANOVA君とはANOVA君とは

Page 9: Anova君を使った分散分析

参加者間要因,参加者内要因,

  またはその両方を含む分散分析  # 何でもできる!

単純主効果の検討,多重比較  # 一度でできる!効果量の算出  # 重要!!

要するに,分散分析に必要なものはほとんど

 備わっています

参加者間要因,参加者内要因,

  またはその両方を含む分散分析  # 何でもできる!

単純主効果の検討,多重比較  # 一度でできる!効果量の算出  # 重要!!

要するに,分散分析に必要なものはほとんど

 備わっています

ANOVA君でできることANOVA君でできること

Page 10: Anova君を使った分散分析

井関先生のホームページより最新版をダウンロード

  ※ 2013.05.07 時点では anovakun_433

R のワーキングディレクトリに入れておきましょう

井関先生のホームページより最新版をダウンロード

  ※ 2013.05.07 時点では anovakun_433

R のワーキングディレクトリに入れておきましょう

ANOVA君を入手するANOVA君を入手する

Page 11: Anova君を使った分散分析

source 関数で ANOVA 君を読み込み

※1  拡張子まで含めること

※2  いわゆるパッケージとは読み込み方が違うので注意

source 関数で ANOVA 君を読み込み

※1  拡張子まで含めること

※2  いわゆるパッケージとは読み込み方が違うので注意

ANOVA君を読み込むANOVA君を読み込む

  source(“anovakun_433.txt”)

Page 12: Anova君を使った分散分析

ANOVA 君の分析用にデータセットを作る

・参加者間要因は縦に,参加者内要因は横に並べる

  (ANOVA4 みたいなイメージ )

    例 )          参加者間要因 参加者内要因

ANOVA 君の分析用にデータセットを作る

・参加者間要因は縦に,参加者内要因は横に並べる

  (ANOVA4 みたいなイメージ )

    例 )          参加者間要因 参加者内要因

ANOVA君の使い方①:データセットを作るANOVA君の使い方①:データセットを作る

ID class

001 A 75

002 A 74

003 B 60

004 B 62

ID time1 time2

001 75 81

002 74 83

003 77 85

004 74 80

Page 13: Anova君を使った分散分析

2 要因以上の場合は入れ子状に

    例 ) 2          要因参加者間 2 要因参加者内計画

2 要因以上の場合は入れ子状に

    例 ) 2          要因参加者間 2 要因参加者内計画

ANOVA君の使い方①:データセットを作るANOVA君の使い方①:データセットを作る

ID class gender

001 A M 75

002 A M 74

003 A F 70

004 A F 71

005 B M 60

006 B M 62

007 B F 58

008 B F 58

time1 time2

ID test1 test2 test1 test2

001 75 80 81 85

002 74 79 83 88

003 77 80 85 87

004 74 82 80 83

Page 14: Anova君を使った分散分析

“分散分析の実行は anovakun” 関数

“s” を挟んで左側に参加者間要因,右側に参加者内要因の文字

その後に各要因の水準数を追記

  例 ) 3 要因参加者間計画

        > anovakun(data,”ABCs”,3,2,2,…)

        2 つの参加者間要因と 1 つの参加者内要因の混合計画

        > anovakun(data,”ABsC”,2,2,2,…)

“分散分析の実行は anovakun” 関数

“s” を挟んで左側に参加者間要因,右側に参加者内要因の文字

その後に各要因の水準数を追記

  例 ) 3 要因参加者間計画

        > anovakun(data,”ABCs”,3,2,2,…)

        2 つの参加者間要因と 1 つの参加者内要因の混合計画

        > anovakun(data,”ABsC”,2,2,2,…)

ANOVA君の使い方②:関数 anovakunANOVA君の使い方②:関数 anovakun

  anovakun( データ,“ ”要因計画の型 ,各要因の水準数,… )

Page 15: Anova君を使った分散分析

多重比較の指定

    デフォルトでは Shaffer の方法による多重比較を行う

    Holm の方法:

    Holland-Copenhaver の方法:

 

多重比較の指定

    デフォルトでは Shaffer の方法による多重比較を行う

    Holm の方法:

    Holland-Copenhaver の方法:

 

ANOVA君の使い方③:オプションを使うANOVA君の使い方③:オプションを使う

  anovakun( “ ”データ, 要因計画の型 ,各要因の水準数, holm=T)

  anovakun( “ ”データ, 要因計画の型 ,各要因の水準数, hc=T)

Page 16: Anova君を使った分散分析

効果量の指定

    偏 η2 乗: peta=T   ,オメガ 2 乗: omega=T

   

球面性の検定

    Mauchly の球面性検定: mau=T

   などなど 詳しくは

効果量の指定

    偏 η2 乗: peta=T   ,オメガ 2 乗: omega=T

   

球面性の検定

    Mauchly の球面性検定: mau=T

   などなど 詳しくは

ANOVA君の使い方③:オプションを使うANOVA君の使い方③:オプションを使う

Page 17: Anova君を使った分散分析

ANOVA 君は非常に便利ですが…

データセットを

作り直すのが

面倒くさい…

Page 18: Anova君を使った分散分析

ID class gender time1 time2 time3 ・・・

001 B M 75 77 80

002 A F 62 65 70

003 A F 66 68 72

004 C F 71 70 72

005 A M 73 76 78

006 B M 59 61 65

・・・

こういう

データから… ID class

001 A 75

002 A 74

003 B 60

004 B 62

ID time1 time2

001 75 81

002 74 83

003 77 85

004 74 80

こういう subset を

作るのが面倒だ!

Page 19: Anova君を使った分散分析

逆に考えるんだ

「整形しなくても分析 できるようにすれば良い」

と考えるんだ

repAnova のご紹介

Page 20: Anova君を使った分散分析

十河 ( そごう ) 宏行 先生 ( 愛媛大学 ) によって作成された ANOVA 君用のインターフェース

ANOVA 君を構成する関数を使って,

 出力を更に見やすく

十河 ( そごう ) 宏行 先生 ( 愛媛大学 ) によって作成された ANOVA 君用のインターフェース

ANOVA 君を構成する関数を使って,

 出力を更に見やすく

repAnovaとはrepAnovaとは

Page 21: Anova君を使った分散分析

十河先生のホームページ

  からダウンロード

読み込み方は ANOVA君と同様 source関数で

十河先生のホームページ

  からダウンロード

読み込み方は ANOVA君と同様 source関数で

repAnovaを入手,読み込むrepAnovaを入手,読み込む

  source("repAnova.r")

Page 22: Anova君を使った分散分析

分散分析の実行は“ repAnova” 関数

 参加者の識別番号が入力された列を指定

分散分析の実行は“ repAnova” 関数

 参加者の識別番号が入力された列を指定

repAnovaの使い方①:関数repAnovarepAnovaの使い方①:関数repAnova

  repAnova( データ,“ ”参加者 “ ” “ ” “ ”, 参加者間要因 , 参加者内要因 , 従属変数 ,… )

Page 23: Anova君を使った分散分析

分散分析の実行は“ repAnova” 関数

 参加者間要因変数が入力された列を指定

 参加者間要因が無い場合には NULL

 複数ある場合には   c(“○○” “, ××”)

分散分析の実行は“ repAnova” 関数

 参加者間要因変数が入力された列を指定

 参加者間要因が無い場合には NULL

 複数ある場合には   c(“○○” “, ××”)

repAnovaの使い方①:関数repAnovarepAnovaの使い方①:関数repAnova

  repAnova( “ ”データ, 参加者 ,“ ”参加者間要因 “ ” “ ”, 参加者内要因 , 従属変数 ,… )

Page 24: Anova君を使った分散分析

分散分析の実行は“ repAnova” 関数

 参加者内要因変数が入力された列を指定

 無い場合には NULL

 

分散分析の実行は“ repAnova” 関数

 参加者内要因変数が入力された列を指定

 無い場合には NULL

 

repAnovaの使い方①:関数repAnovarepAnovaの使い方①:関数repAnova

  repAnova( “ ” “ ”データ, 参加者 , 参加者間要因 ,“ ”参加者内要因 “ ”, 従属変数 ,… )

Page 25: Anova君を使った分散分析

分散分析の実行は“ repAnova” 関数

 比較する数値が入力された列名を指定

分散分析の実行は“ repAnova” 関数

 比較する数値が入力された列名を指定

repAnovaの使い方①:関数repAnovarepAnovaの使い方①:関数repAnova

  repAnova( “ ” “ ” “ ”データ, 参加者 , 参加者間要因 , 参加者内要因 ,“ ”従属変数 ,… )

Page 26: Anova君を使った分散分析

実行例実行例

time1 について

class(3) と gender(2) で

2 要因参加者間の

分散分析

time1 について

class(3) と gender(2) で

2 要因参加者間の

分散分析

ID class gender time1 time2 time3 ・・・

001 B M 75 77 80

002 A F 62 65 70

003 A F 66 68 72

004 C F 71 70 72

005 A M 73 76 78

006 B M 59 61 65

・・・

  repAnova( データ ,“ID”, c(“class”,“gender”), NULL, “time1”)

データ整形不要!  #repAnova の凄いポイント① データ整形不要!  #repAnova の凄いポイント①

Page 27: Anova君を使った分散分析

repAnova は HTML ファイルで出力される

ANOVA 君では“ A” ,“ a1”

  だった要因名,水準名が

  分かりやすく!

   #repAnova の凄いポイント②

repAnova は HTML ファイルで出力される

ANOVA 君では“ A” ,“ a1”

  だった要因名,水準名が

  分かりやすく!

   #repAnova の凄いポイント②

repAnovaの使い方②:出力repAnovaの使い方②:出力

Page 28: Anova君を使った分散分析

データ整形をしなくても,入力したままの状態から分散分析ができる!

こんな状態にならなくて済む →

データ整形をしなくても,入力したままの状態から分散分析ができる!

こんな状態にならなくて済む →

repAnovaを使えば…repAnovaを使えば…

Page 29: Anova君を使った分散分析

参考にした HP参考にした HP

ー fin - ー fin -

井関龍太のページ

(http://www11.atpages.jp/~riseki/pukiwikiplus/index.php)

十河研究室 HP

(http://www.s12600.net/psy/index.html)

井関龍太のページ

(http://www11.atpages.jp/~riseki/pukiwikiplus/index.php)

十河研究室 HP

(http://www.s12600.net/psy/index.html)