Rで1要因ANOVA(被験者間)を行う方法と、結果の見方と書き方
サンプルデータ
Rで1要因ANOVA(被験者間)を行うための手順を、RStudioを使って示していきます。3つの異なる条件それぞれ被験者を20人ずつ割り当てて実験を行い、各実験後に何らかの評価(アンケートやテストなど)を取得して比較する場合、被験者間1要因ANOVAを利用できます。例えば、以下のようなデータを取得した場合を想定します:
A B C
97 56 56
101 39 39
91 57 57
88 54 54
92 42 42
104 47 47
95 49 49
102 45 45
89 53 53
99 52 52
105 53 53
98 56 56
96 56 56
94 49 49
97 49 49
102 48 48
92 43 43
103 57 57
103 49 49
97 43 43
分析方法の選び方
Rstudioでの分析には、以下のコマンドを利用します。今回はcarというライブラリを使っているので、必要であれば先にライブラリのインストールを行います。コマンドはほとんどRで1要因ANOVA(被験者内)を行う方法と変わりません。被験者内要因に関する記述を省いただけになります。効果サイズの計算で、被験者内要因に関するデータが無いので配列の番号も変更しています。
library(car) #Anova関数用 Data2 <- read.csv("Data2.csv") #テスト y <- stack(Data2) # データ並び替え Anova(lm(y$values ~ y$ind), type='III') # Type IIIの平方和を利用した分散分析 result <- Anova(lm(y$values ~ y$ind), type='III') # 効果サイズ計算用 result$"Sum Sq"[1]/(result$"Sum Sq"[1]+result$"Sum Sq"[2])# 効果サイズ計算 pairwise.t.test(y$values, y$ind, p.adj = "bonf") # 多重比較
Anova(lm(y$values ~ y$ind), type=’III’)を実行すると、以下のような結果が表示されます。F値、自由度、p値などが表示されています。
Anova Table (Type III tests) Response: y$values Sum Sq Df F value Pr(>F) (Intercept) 189151 1 6586.81 < 2.2e-16 *** y$ind 29957 2 521.59 < 2.2e-16 *** Residuals 1637 57 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
result$"Sum Sq"[1]/(result$"Sum Sq"[1]+result$"Sum Sq"[2])を実行すると、以下のような結果が表示されます。なお、SPSSで計算に用いられる偏η2ではなく、η2となります。
[1] 0.8632784
pairwise.t.test(y$values, y$ind, p.adj = “bonf")を実行すると、以下のような結果が表示されます。Bonferroni法を用いた多重比較の結果です。
Pairwise comparisons using t tests with pooled SD data: y$values and y$ind A B B <2e-16 - C <2e-16 1
これらの結果を記載する例を、以下に示します。
実験で取得した、各条件における刺激提示の後に得られたテスト結果に対して、被験者間1要因分散分析を行った。その結果、条件要因に有意な差が得られた(F(2,38)=521.593, p<0.001, η2=0.863)。Bonferroni法による多重比較の結果、以下の組み合わせにおいて有意な差が得られた(A>B, p<0.001, A>C, p<0.001)。すなわち、条件Aにおいて、条件BおよびCよりも有意に高いテスト結果が得られた。条件BとCの間には有意な差が得られなかった。
ディスカッション
コメント一覧
まだ、コメントがありません