その他の検定

分散分析

3つ以上の標本の平均を比較する場合,分散分析を用いる。

例題

第5回 餃子対決の例を分析してみる。

kankankoekicafe
807580
757080
808080
908590
959095
807585
808595
858090
858085
807590
908095
807585
757098
908595
858085
857585
908090
908090
859085
808085

Tukey法

Rでもっとも手軽に利用できるTukeyHSDを利用する例を示す。 分散分析を行なうためには,table形式のデータをスタック形式に 変換する必要がある。スタック形式とはラベルと値が1対1対応する ベクトルのペアで,たとえば

kankankankankankan koekikoeki cafecafecafe
807580 7570 808085

のような形式を取る。read.table() 関数で読み取った値を stack() 関数に渡すことで スタック形式のデータが得られる。

まず最初の表の見出し行を含めて領域コピーしてから read.table("clipboard") で読み取る。

gyoza <- read.table("clipboard", header=T)
gyoza
   kankan koeki cafe
1      80    75   80
2      75    70   80
3      80    80   80
   :
   :
18     90    80   90
19     85    90   85
20     80    80   85

これをスタック形式に変換する。

sg <- stack(gyoza)
sg
   values    ind
1      80 kankan
2      75 kankan
3      80 kankan
4      90 kankan
   :
   :
58     90   cafe
59     85   cafe
60     85   cafe

以下のようにTukeyHSDに渡す。

TukeyHSD(aov(lm(sg)))
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = lm(sg))

$ind
              diff        lwr        upr     p adj
kankan-cafe  -4.15  -8.361141  0.0611413 0.0542391
koeki-cafe   -8.65 -12.861141 -4.4388587 0.0000210
koeki-kankan -4.50  -8.711141 -0.2888587 0.0336261

この結果から,koeki-cafe に大きな隔たりがあることが見て取れる。

F検定

分散の比はF分布に従う。この性質を利用して, 2標本の分散が等しいかの検定を行なうことができる。 ここでは,RでのF検定の方法を示すに留める。

2標本が2つのベクトル a, bに 代入されていると仮定すると,その2標本が等分散かは var.test(a, b) で検定できる。

鑑定士の腕

新人鑑定士Bが,熟練鑑定士Aほどの技術を身に付けたかを調べたい。 標準試料に含まれる成分を10回測定させた結果は以下のとおりであった。

鑑定士A 8.78.98.78.88.9 8.88.88.78.88.8
鑑定士B 9.78.28.08.78.0 8.78.47.39.08.6

A, Bの鑑定技術に差はあるか。

#(鑑定士Aの結果部分をクリップボードにコピーしてから)
j.a = scan("clipboard")

#(鑑定BAの結果部分をクリップボードにコピーしてから)
j.b = scan("clipboard")

var.test(j.a, j.b)
        F test to compare two variances

data:  j.a and j.b
F = 0.0129, num df = 9, denom df = 9, p-value = 3.767e-07
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
 0.003199502 0.051859546
sample estimates:
ratio of variances
        0.01288118