分散分析(一元配置の分散分析)

t検定について考えていたらまたわからんくなったので、改めてやって見ることにした。

最初の頃の気持ちを思い出して丁寧にやっていく。だって結果がでて喜んでるだけでは結局使いにくいSPSSと同じだもん。ちゃんと勉強しましょう。

まずは、等分散性の検定について検討(F検定と呼ばれるもの)。

t検定とは違うところは、複数あることか。ちょっとおんなじ感じでやってみっと。3種類ある人種でトライ。

むむむエラーだ。なんでだろう。ちょっと本を読んでみよう。

わかった(多分ね)!!

3群以上の時は、bartlettを使うみたい。

bartlett.test(s$weight,s$race)

さあ出てこい!!


いえーーす!!これもp-value = 0.04765なので等分散性が棄却されます。サンプル数が少ないもんね。

ということで、等分散を規定しない分散分析。

ひつこいけどこれがデフォルトなんだよね。oneway.test

っとこれをみると、 p-value =0.3214 なので体重に人種の影響はないことがわかった。

一応、等分散を規定した上での分散分析も練習のためにしてみる。
t検定の時と同じでvar.equal=TRUEを付ける。

うん。p-value = 0.138で結果はかわらない。でも思ったより数字に変化があるんだな。


ところで、Rで分散分析には他にもいろんな種類があるみたいだ。本で読んだ限りでは、
aov関数(summaryも追加して結構一般的に使える、2元配置もできる)
anova関数(結構高度らしい)
anovakun関数(ツイッターで教えてもらったが、まだちょっと僕には早そうだ)

ここらへんを一応やってみよう。
ちなみに今気づいたのだが、summaryという関数はなんかざっくり見やすくしてくれるコマンドみたい。
試しにちょっとsをぶち込んでみる。

ほほう。なんかいい感じの表ができてる。たぶん、customとInheは順序尺度であることを一度どこかで定義付けせんとあかんみたいやな(なんで大阪弁だよ)。これはまた今後にしよっと。

ではまず、aovから。比較のためoneway.testの等分散とそうじゃないやつを上に並べてみた。

!! あれ?aovはデフォルトが等分散を規定しているのか??なぞだなあ。

ちなみにanovaだとこうなる。

こっちもそうだ。僕の中の認識では、デフォルトが等分散を規定していなくて、等分散よりも統計的なハードルが高いので気にしなくても大丈夫という感じだったんだけどちょっと違うのかな。。。
これは調べても見つからない。誰かに聞くべきか。ということで悩んでいたらツイッター上でmentionが。そもそもanovaは等分散を想定しているものだから、等分散以外はやっちゃいけないとのこと。

そういう場合は、oneway.testでやるのが普通らしい。
でもだったら2元配置の分散分析をするときはどうなんだろう?twoway.testみたいなのがあるのかな?
ということで次は二元配置の分散分析にチャレンジ。そして、anovakunもやってみよっと。


ところで、分散分析ではTukeyの下位検定が出てくるものが多い。
Rではこうなる。

TukeyHSD(aov(s$weight~s$race))

ok!だいぶいい感じですね。