例題:
「表 1 のようなデータがある。4 種の肥料間で収量に差があるか,また,3 種の品種ごとに差があるか検定しなさい。」
肥料 | ||||
---|---|---|---|---|
品種 | $B_{1}$ | $B_{2}$ | $B_{3}$ | $B_{4}$ |
$A_{1}$ | 9 | 17 | 12 | 16 |
$A_{2}$ | 1 | 21 | 16 | 11 |
$A_{3}$ | 7 | 19 | 6 | 9 |
R による解析
> randblk(dat) # この関数の定義を見る SS d.f. MS F value P value Treatment 268.66667 3 89.55556 5.4923339 0.03719245 Replication 21.50000 2 10.75000 0.6592845 0.55102999 Residual 97.83333 6 16.30556 NA NA Total 388.00000 11 35.27273 NA NA aov 関数を用いる場合 > m <- matrix(c(9,1,7,17,21,19,12,16,6,16,11,9),3,4) > m [,1] [,2] [,3] [,4] [1,] 9 17 12 16 [2,] 1 21 16 11 [3,] 7 19 6 9 > df <- data.frame(x=as.vector(m), Treatment=as.factor(col(m)), Replication=as.factor(row(m))) > df x Treatment Replication 1 9 1 1 2 1 1 2 3 7 1 3 4 17 2 1 5 21 2 2 6 19 2 3 7 12 3 1 8 16 3 2 9 6 3 3 10 16 4 1 11 11 4 2 12 9 4 3 > summary(aov(x ~ Treatment + Replication, df)) Df Sum Sq Mean Sq F value Pr(>F) Treatment 3 268.667 89.556 5.4923 0.03719 * Replication 2 21.500 10.750 0.6593 0.55103 Residuals 6 97.833 16.306 --- Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1