この Rmd ファイルは穴開きになっています.必要事項を自分で記入して完成させましょう
記入毎に Ctrl + s でこまめに保存すること
Rmd ファイルの出力は Knit を押して確認すると良い
作業を完了させたこの Rmd ファイルと Knit してつくった html ファイルを PandA から提出すること
提出要領は PandA の「課題」を確認すること
Rのコードチャンク以外にも記入すべきところがあるので,細部まできちんと確認すること
(参考:実践生物統計学,東京大学生物測定学研究室編,2004)
圃場試験で栽培条件の影響を調べたい.水稲の9品種をそれぞれ6区画の水田で栽培したときのアール当たりの玄米重量は以下のとおりであった.
| 品種 | A1 | A2 | A3 | B1 | B2 | C | D1 | D2 | D3 |
|---|---|---|---|---|---|---|---|---|---|
| 34.3 | 33.5 | 35.2 | 36.0 | 37.3 | 38.3 | 35.1 | 36.2 | 34.6 | |
| 35.9 | 35.2 | 36.5 | 37.5 | 38.5 | 38.0 | 37.0 | 38.0 | 35.5 | |
| 36.8 | 36.1 | 37.9 | 38.1 | 39.4 | 36.8 | 38.6 | 39.9 | 36.4 | |
| 37.4 | 34.8 | 38.6 | 39.5 | 40.5 | 37.4 | 36.5 | 37.9 | 37.8 | |
| 36.0 | 35.3 | 37.1 | 38.6 | 40.1 | 35.9 | 38.4 | 39.1 | 35.9 | |
| 37.0 | 36.5 | 38.1 | 36.9 | 38.8 | 36.6 | 35.7 | 37.5 | 35.6 |
ただし,以下の設問のとおりにおこなうこと.
帰無仮説 \(H_0\) 品種による収穫量に差はない
有意水準 \(\alpha=0.05\) で一元配置分散分析をおこなう
R で標本をデータフレームとして格納せよ
# groupA1, groupA2, groupA3, ... , groupD3 までのデータを格納せよ
A1 <- c(34.3,35.9,36.8,37.4,36.0,37.0)
A2 <- c(33.5,35.2,36.1,34.8,35.3,36.5)
A3 <- c(35.2,36.5,37.9,38.6,37.1,38.1)
B1 <- c(36.0,37.5,38.1,39.5,38.6,36.9)
B2 <- c(37.3,38.5,39.4,40.5,40.1,38.8)
C <- c(38.3,38.0,36.8,37.4,35.9,36.6)
D1 <- c(35.1,37.0,38.6,36.5,38.4,35.7)
D2 <- c(36.2,38.0,39.9,37.9,39.1,37.5)
D3 <- c(34.6,35.5,36.4,37.8,35.9,35.6)
# data frame を構成し,DTライブラリを用いて描画せよ
datf = data.frame(group1=A1, group2=A2, group3=A3, group4=B1, group5=B2, group6=C, group7=D1, group8=D2, group9=D3)
# plot
DT::datatable(datf, extensions='FixedColumns', options = list(dom='t', scrollX=TRUE, scrollCollapse=FALSE))一元配置分散分析で用いるパラメータの設定をおこなえ
# 全データを格納する配列 data をつくれ
data = c(A1,A2,A3,B1,B2,C,D1,D2,D3)
data## [1] 34.3 35.9 36.8 37.4 36.0 37.0 33.5 35.2 36.1 34.8 35.3 36.5 35.2 36.5 37.9
## [16] 38.6 37.1 38.1 36.0 37.5 38.1 39.5 38.6 36.9 37.3 38.5 39.4 40.5 40.1 38.8
## [31] 38.3 38.0 36.8 37.4 35.9 36.6 35.1 37.0 38.6 36.5 38.4 35.7 36.2 38.0 39.9
## [46] 37.9 39.1 37.5 34.6 35.5 36.4 37.8 35.9 35.6
# 総標本サイズ N を計算せよ
N = length(data)
N## [1] 54
# 各群の標本サイズを計算せよ
n1 = length(A1); n1## [1] 6
n2 = length(A2); n2## [1] 6
n3 = length(A3); n3## [1] 6
n4 = length(B1); n4## [1] 6
n5 = length(B2); n5## [1] 6
n6 = length(C); n6## [1] 6
n7 = length(D1); n7## [1] 6
n8 = length(D2); n8## [1] 6
n9 = length(D3); n9## [1] 6
# 群の数をmに代入せよ
m = 6
m## [1] 6
m-1## [1] 5
N-m## [1] 48
N-1## [1] 53
各群の平均を計算せよ
# 群内平均
mean1 = mean(A1)
mean1## [1] 36.23333
mean2 = mean(A2)
mean2## [1] 35.23333
mean3 = mean(A3)
mean3## [1] 37.23333
mean4 = mean(B1)
mean4## [1] 37.76667
mean5 = mean(B2)
mean5## [1] 39.1
mean6 = mean(C)
mean6## [1] 37.16667
mean7 = mean(D1)
mean7## [1] 36.88333
mean8 = mean(D2)
mean8## [1] 38.1
mean9 = mean(D3)
mean9## [1] 35.96667
総平均を計算せよ
# 総平均
meanT = mean(data)
meanT## [1] 37.07593
群内平方和と群間平方和をそれぞれ計算せよ
# 各群の平方和を計算せよ
SS1 = sum((A1-mean1)^2)
SS1## [1] 6.173333
SS2 = sum((A2-mean2)^2)
SS2## [1] 5.553333
SS3 = sum((A3-mean3)^2)
SS3## [1] 7.753333
SS4 = sum((B1-mean4)^2)
SS4## [1] 7.753333
SS5 = sum((B2-mean5)^2)
SS5## [1] 6.74
SS6 = sum((C-mean6)^2)
SS6## [1] 4.093333
SS7 = sum((D1-mean7)^2)
SS7## [1] 9.988333
SS8 = sum((D2-mean8)^2)
SS8## [1] 8.26
SS9 = sum((D3-mean9)^2)
SS9## [1] 5.773333
# 群内平方和 SSW
SSW = SS1+SS2+SS3+SS4+SS5+SS6+SS7+SS8+SS9
SSW## [1] 62.08833
# 群間平方和 SSA
SSA= n1*(mean1-meanT)^2 + n2*(mean2-meanT)^2 +n3*(mean3-meanT)^2+n4*(mean4-meanT)^2 + n5*(mean5-meanT)^2 +n6*(mean6-meanT)^2+n7*(mean7-meanT)^2 + n8*(mean8-meanT)^2 +n9*(mean9-meanT)^2
SSA## [1] 66.17037
# 総平方和 SS を計算せよ
SS = sum((data-meanT)^2)
SS## [1] 128.2587
# 総平方和が群内平方和と群間平方和の和になっていることを確認せよ
SSA + SSW## [1] 128.2587
# 群内平均平方 MSW を計算せよ
MSW = SSW / (N - m)
MSW## [1] 1.293507
# 群間平均平方 MSA を計算せよ
MSA = SSA/(m-1)
MSA## [1] 13.23407
# 総平均平方 MS を計算せよ
MS = SS / (N-1)
MS## [1] 2.419976
# F統計量 Fstar を計算せよ
Fstar = MSA / MSW
Fstar## [1] 10.23116
# F(m-1, N-m) の上側5%点 F0 を計算せよ
F0 = qf(0.95, m - 1, N - m)
F0## [1] 2.408514
この部分に検定の結果を述べよ
\(F^*\) が \(F(m-1, N-m)\) の上側5%点 \(F_0\) より上回っているので,有意水準 \(\alpha=0.05\) の \(F\) 検定によって帰無仮説を棄却する
(Fstar = 10.04676, F0 = 2.408514)
上で計算した値を下の表に(手入力はダサいけど)埋めて,分散分析を完成させよ
| 変動要因 | 平方和 | 自由度 \(\mathrm{df}\) | 平均平方 | 分散比 \(F\) |
|---|---|---|---|---|
| 群間変動(処理) | \(\mathrm{66.17}\) | \(5\) | \(\mathrm{13.23}\) | \(\mathrm{10.23}\) |
| 群内変動(誤差) | \(\mathrm{62.09}\) | \(48\) | \(\mathrm{1.294}\) | |
| 全体 | \(\mathrm{128.3}\) | \(53\) | \(\mathrm{2.420}\) |
R の aov 関数を用いて良いので上で行った計算を検算せよ
# 群のラベルを表す配列 group を作成せよ
group = c(rep(1,n1),rep(2,n2),rep(3,n3),rep(4,n4),rep(5,n5),rep(6,n6),rep(7,n7),rep(8,n8),rep(9,n9))
# group をカテゴリカル配列に変更せよ
group = factor (group)
group## [1] 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 6 6 7 7
## [39] 7 7 7 7 8 8 8 8 8 8 9 9 9 9 9 9
## Levels: 1 2 3 4 5 6 7 8 9
# aov の結果を result に格納せよ
result = aov(data ~ group)
# aov の結果の要約を出力せよ
summary(result)## Df Sum Sq Mean Sq F value Pr(>F)
## group 8 66.17 8.271 5.995 3.09e-05 ***
## Residuals 45 62.09 1.380
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
群の平均値に統計的有意な差があるかどうかを調べるための多重比較を Tukey HSD 法を用いて行え
有意水準を0.05とする
# 各群の箱ひげ図を描画し,各群の要約統計量を可視化せよ
boxplot(data ~ group)# TukeyHSD 関数で多重比較を行い,結果を THSD に格納せよ
THSD = TukeyHSD(result)
THSD## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = data ~ group)
##
## $group
## diff lwr upr p adj
## 2-1 -1.00000000 -3.2088892 1.208889184 0.8611598
## 3-1 1.00000000 -1.2088892 3.208889184 0.8611598
## 4-1 1.53333333 -0.6755559 3.742222518 0.3863696
## 5-1 2.86666667 0.6577775 5.075555851 0.0033493
## 6-1 0.93333333 -1.2755559 3.142222518 0.9008132
## 7-1 0.65000000 -1.5588892 2.858889184 0.9877618
## 8-1 1.86666667 -0.3422225 4.075555851 0.1589303
## 9-1 -0.26666667 -2.4755559 1.942222518 0.9999804
## 3-2 2.00000000 -0.2088892 4.208889184 0.1039413
## 4-2 2.53333333 0.3244441 4.742222518 0.0140468
## 5-2 3.86666667 1.6577775 6.075555851 0.0000288
## 6-2 1.93333333 -0.2755559 4.142222518 0.1291023
## 7-2 1.65000000 -0.5588892 3.858889184 0.2919204
## 8-2 2.86666667 0.6577775 5.075555851 0.0033493
## 9-2 0.73333333 -1.4755559 2.942222518 0.9740672
## 4-3 0.53333333 -1.6755559 2.742222518 0.9967255
## 5-3 1.86666667 -0.3422225 4.075555851 0.1589303
## 6-3 -0.06666667 -2.2755559 2.142222518 1.0000000
## 7-3 -0.35000000 -2.5588892 1.858889184 0.9998447
## 8-3 0.86666667 -1.3422225 3.075555851 0.9326029
## 9-3 -1.26666667 -3.4755559 0.942222518 0.6382878
## 5-4 1.33333333 -0.8755559 3.542222518 0.5737355
## 6-4 -0.60000000 -2.8088892 1.608889184 0.9927373
## 7-4 -0.88333333 -3.0922225 1.325555851 0.9253890
## 8-4 0.33333333 -1.8755559 2.542222518 0.9998924
## 9-4 -1.80000000 -4.0088892 0.408889184 0.1938180
## 6-5 -1.93333333 -4.1422225 0.275555851 0.1291023
## 7-5 -2.21666667 -4.4255559 -0.007777482 0.0485871
## 8-5 -1.00000000 -3.2088892 1.208889184 0.8611598
## 9-5 -3.13333333 -5.3422225 -0.924444149 0.0009926
## 7-6 -0.28333333 -2.4922225 1.925555851 0.9999688
## 8-6 0.93333333 -1.2755559 3.142222518 0.9008132
## 9-6 -1.20000000 -3.4088892 1.008889184 0.7010313
## 8-7 1.21666667 -0.9922225 3.425555851 0.6856156
## 9-7 -0.91666667 -3.1255559 1.292222518 0.9094981
## 9-8 -2.13333333 -4.3422225 0.075555851 0.0657200
帰無仮説の下でどの組が有意水準以下の出現確率となるか調べよ
# 有意水準以下となる有意確率を出す群の組を表示せよ
which(THSD$group[,4] < 0.05)## 5-1 4-2 5-2 8-2 7-5 9-5
## 4 10 11 14 28 30
Tukey HSD 検定の結果をここに述べよ
品種による収穫量の差で、
A1とB2の差(p = 0.0033493)
A2とB1の差(p = 0.0140468)
A2とB2の差(p = 0.0000288)
A2とD2の差(p = 0.0033493)
B2とD1の差(p = 0.0485871)
B2とD3の差(p = 0.0009926)
の6ペアは有意差が認められました(P < 0.05)。