【R入門】R言語の基本:二元配置分散分析
統計とR言語の勉強をしています。
「Rによるやさしい統計学」の写経で勉強。
#実行環境
- Windows10 Pro 64bit
- R:3.4.3
- RStudio:1.1.383
RStudioのConsoleを使って実行しています
#二元配置分散分析(対応なし)
3つ以上の平均値を比較するための統計的手法で分散分析があります。二元配置分散分析(対応なし)を例題から実施していきます。
項目 | 内容 |
---|---|
前提 | 3種類の銘柄のミネラルウォーターのおいしさについて、2種類の温度(冷蔵庫、常温)のもとで評定 |
温度の主効果 | 帰無仮説:温度が違ってもおいしさの得点の母平均は等しい(温度の主効果なし) 対立仮説:温度の違いによっておいしさの得点の母平均は異なる(温度の主効果あり) |
銘柄の主効果 | 帰無仮説:銘柄が違ってもおいしさの得点の母平均は等しい(銘柄の主効果なし) 対立仮説:銘柄の違いによっておいしさの得点の母平均は異なる(銘柄の主効果あり) |
温度と銘柄の交互作用 | 帰無仮説:温度と銘柄の相性の良し悪しはない(温度と銘柄の交互作用効果なし) 対立仮説:温度と銘柄の相性の良し悪しがある(温度と銘柄の交互作用効果あり) |
有意水準 | 5% |
Rでaov関数を使って検定をします。
> aji <- c(6,4,5,3,2,10,8,10,8,9,11,12,12,10,10,5,4,2,2,2,7,6,5,4,3,12,8,5,6,4)
> ondo <- factor(c(rep("冷蔵庫",15),rep("常温",15)))
> ondo
[1] 冷蔵庫 冷蔵庫 冷蔵庫 冷蔵庫 冷蔵庫 冷蔵庫 冷蔵庫 冷蔵庫 冷蔵庫 冷蔵庫 冷蔵庫 冷蔵庫 冷蔵庫 冷蔵庫 冷蔵庫
[16] 常温 常温 常温 常温 常温 常温 常温 常温 常温 常温 常温 常温 常温 常温 常温
Levels: 常温 冷蔵庫
> meigara <- factor(rep(c(rep("イカアン",5),rep("ボスビッグ",5),rep("ビビッテル",5)),2))
> meigara
[1] イカアン イカアン イカアン イカアン イカアン ボスビッグ ボスビッグ ボスビッグ ボスビッグ ボスビッグ
[11] ビビッテル ビビッテル ビビッテル ビビッテル ビビッテル イカアン イカアン イカアン イカアン イカアン
[21] ボスビッグ ボスビッグ ボスビッグ ボスビッグ ボスビッグ ビビッテル ビビッテル ビビッテル ビビッテル ビビッテル
Levels: イカアン ビビッテル ボスビッグ
> summary(aov(aji~ondo*meigara))
Df Sum Sq Mean Sq F value Pr(>F)
ondo 1 67.5 67.50 21.316 0.00011 ***
meigara 2 155.0 77.50 24.474 1.61e-06 ***
ondo:meigara 2 15.0 7.50 2.368 0.11515
Residuals 24 76.0 3.17
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
以下の結果になりました。
項目 | 結論 | p値 |
---|---|---|
温度の主効果 | 帰無仮説の棄却(温度の主効果あり) | 0.00011 |
銘柄の主効果 | 帰無仮説の棄却(銘柄の主効果あり) | 1.61e-06(0.0000016) |
温度と銘柄の交互作業効果 | 帰無仮説の支持(温度と銘柄の相互作用効果あり) | 0.11515 |
平均値のプロットで表すとこんな感じです。
> interaction.plot(ondo,meigara,aji)
> interaction.plot(meigara,ondo,aji)
#二元配置分散分析(対応あり)
二元配置分散分析(対応あり)を例題から実施していきます。
項目 | 内容 |
---|---|
前提 | 5人の評定者が3種類の銘柄のミネラルウォーターのおいしさについて、2種類の温度(冷蔵庫、常温)のもとで評定 |
温度の主効果 | 帰無仮説:温度が違ってもおいしさの得点の母平均は等しい(温度の主効果なし) 対立仮説:温度の違いによっておいしさの得点の母平均は異なる(温度の主効果あり) |
銘柄の主効果 | 帰無仮説:銘柄が違ってもおいしさの得点の母平均は等しい(銘柄の主効果なし) 対立仮説:銘柄の違いによっておいしさの得点の母平均は異なる(銘柄の主効果あり) |
温度と銘柄の交互作用 | 帰無仮説:温度と銘柄の相性の良し悪しはない(温度と銘柄の交互作用効果なし) 対立仮説:温度と銘柄の相性の良し悪しがある(温度と銘柄の交互作用効果あり) |
有意水準 | 5% |
今度のデータは評定者を二元配置分散分析(対応なし)から加えています。
同じくaov関数で、オプションを変えて実行します。
> hito1 <- factor(rep(c("村松","川崎","井口","松中","城島"),6))
> hito1
[1] 村松 川崎 井口 松中 城島 村松 川崎 井口 松中 城島 村松 川崎 井口 松中 城島 村松 川崎 井口 松中 城島 村松 川崎
[23] 井口 松中 城島 村松 川崎 井口 松中 城島
Levels: 井口 松中 城島 川崎 村松
> summary(aov(aji~ondo*meigara+Error(hito1+hito1:ondo+hito1:meigara+hito1:ondo:meigara)))
Error: hito1
Df Sum Sq Mean Sq F value Pr(>F)
Residuals 4 45 11.25
Error: hito1:ondo
Df Sum Sq Mean Sq F value Pr(>F)
ondo 1 67.5 67.50 18 0.0132 *
Residuals 4 15.0 3.75
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Error: hito1:meigara
Df Sum Sq Mean Sq F value Pr(>F)
meigara 2 155 77.5 155 4.01e-07 ***
Residuals 8 4 0.5
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Error: hito1:ondo:meigara
Df Sum Sq Mean Sq F value Pr(>F)
ondo:meigara 2 15 7.5 5 0.039 *
Residuals 8 12 1.5
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
今度は以下の結果になりました。
項目 | 結論 | p値 |
---|---|---|
温度の主効果 | 帰無仮説の棄却(温度の主効果なし) | 0.0132 |
銘柄の主効果 | 帰無仮説の棄却(銘柄の主効果なし) | 4.01e-07(0.0000004) |
温度と銘柄の交互作業効果 | 帰無仮説の棄却(温度と銘柄の相互作用効果なし) | 0.039 |
#二元配置分散分析(一要因のみ対応あり)
先程と同じ命題ですが、図のように評定者が別れている場合もやっておきます。
同じくaov関数で、Errorオプションで評定者が対応している温度のみを指定します。
> a1_jouken <-rep(c("村松","川崎","井口","松中","城島"),3)
> a2_jouken <-rep(c("斎藤","和田","寺原","杉内","新垣"),3)
> hito2 <- factor(c(a1_jouken,a2_jouken))
> hito2
[1] 村松 川崎 井口 松中 城島 村松 川崎 井口 松中 城島 村松 川崎 井口 松中 城島 斎藤 和田 寺原 杉内 新垣 斎藤 和田
[23] 寺原 杉内 新垣 斎藤 和田 寺原 杉内 新垣
Levels: 井口 斎藤 寺原 松中 城島 新垣 杉内 川崎 村松 和田
> summary(aov(aji~ondo*meigara+Error(hito2:ondo+hito2:ondo:meigara)))
Error: hito2:ondo
Df Sum Sq Mean Sq F value Pr(>F)
ondo 1 67.5 67.5 9 0.0171 *
Residuals 8 60.0 7.5
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Error: hito2:ondo:meigara
Df Sum Sq Mean Sq F value Pr(>F)
meigara 2 155 77.5 77.5 5.87e-09 ***
ondo:meigara 2 15 7.5 7.5 0.00504 **
Residuals 16 16 1.0
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Warning message:
In aov(aji ~ ondo * meigara + Error(hito2:ondo + hito2:ondo:meigara)) :
Error() model is singular
今度は以下の結果になりました。
項目 | 結論 | p値 |
---|---|---|
温度の主効果 | 帰無仮説の棄却(温度の主効果なし) | 0.0171 |
銘柄の主効果 | 帰無仮説の棄却(銘柄の主効果なし) | 5.87e-09(0.0000000059) |
温度と銘柄の交互作業効果 | 帰無仮説の棄却(温度と銘柄の相互作用効果なし) | 0.00504 |