LoginSignup
6
4

More than 3 years have passed since last update.

【R入門】R言語の基本:二元配置分散分析

Last updated at Posted at 2021-04-05

【R入門】R言語の基本:二元配置分散分析
統計とR言語の勉強をしています。
「Rによるやさしい統計学」の写経で勉強。

実行環境

  • Windows10 Pro 64bit
  • R:3.4.3
  • RStudio:1.1.383

RStudioのConsoleを使って実行しています

二元配置分散分析(対応なし)

3つ以上の平均値を比較するための統計的手法で分散分析があります。二元配置分散分析(対応なし)を例題から実施していきます。

項目 内容
前提 3種類の銘柄のミネラルウォーターのおいしさについて、2種類の温度(冷蔵庫、常温)のもとで評定
温度の主効果 帰無仮説:温度が違ってもおいしさの得点の母平均は等しい(温度の主効果なし)
対立仮説:温度の違いによっておいしさの得点の母平均は異なる(温度の主効果あり)
銘柄の主効果 帰無仮説:銘柄が違ってもおいしさの得点の母平均は等しい(銘柄の主効果なし)
対立仮説:銘柄の違いによっておいしさの得点の母平均は異なる(銘柄の主効果あり)
温度と銘柄の交互作用 帰無仮説:温度と銘柄の相性の良し悪しはない(温度と銘柄の交互作用効果なし)
対立仮説:温度と銘柄の相性の良し悪しがある(温度と銘柄の交互作用効果あり)
有意水準 5%

検定するのはこんなデータです。
40.R_VarAnalitics00.JPG

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)

40.R_VarAnalitics01.JPG

> interaction.plot(meigara,ondo,aji)

40.R_VarAnalitics02.JPG

二元配置分散分析(対応あり)

二元配置分散分析(対応あり)を例題から実施していきます。

項目 内容
前提 5人の評定者が3種類の銘柄のミネラルウォーターのおいしさについて、2種類の温度(冷蔵庫、常温)のもとで評定
温度の主効果 帰無仮説:温度が違ってもおいしさの得点の母平均は等しい(温度の主効果なし)
対立仮説:温度の違いによっておいしさの得点の母平均は異なる(温度の主効果あり)
銘柄の主効果 帰無仮説:銘柄が違ってもおいしさの得点の母平均は等しい(銘柄の主効果なし)
対立仮説:銘柄の違いによっておいしさの得点の母平均は異なる(銘柄の主効果あり)
温度と銘柄の交互作用 帰無仮説:温度と銘柄の相性の良し悪しはない(温度と銘柄の交互作用効果なし)
対立仮説:温度と銘柄の相性の良し悪しがある(温度と銘柄の交互作用効果あり)
有意水準 5%

今度のデータは評定者を二元配置分散分析(対応なし)から加えています。
50.R_VarAnalitics01.JPG

同じく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

二元配置分散分析(一要因のみ対応あり)

先程と同じ命題ですが、図のように評定者が別れている場合もやっておきます。
50.R_VarAnalitics02.JPG

同じく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
6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4