統計検定に関する事柄を忘れないようにまとめます.

R にてt検定を実行する.t検定は2群間の平均値の差を比較する検定であるが,その対象の2群間の平均値が独立とはいえない場合,すなわち対応がある場合は対応のあるt検定を用いる.対応がある場合とは,同一検体に2種類の薬剤を投与し,その薬剤の効果の差を検定したい場合や,2つのソフトウェアを作り上げ,それらの性能比較を複数個のサンプルからなるベンチマークセットを同じく適用した際の比較をしたい場合等のことをいう.スチューデントやウェルチの対応のないt検定とは異なり,データ間の分散を気にする必要がない.

t検定の使い分け

t検定は以下の表に従って使い分ける.

状況適用すべきt検定
データに対応がある.対応のあるt検定
データに対応がなく,2群間に等分散性が仮定できる.スチューデントのt検定
データに対応がなく,2群間に等分散性が仮定できない.ウェルチのt検定

p値の計算

対応のあるt検定を行うために,R のデフォルトデータセットに適したサンプルデータが存在する.データセット sleep は,2種類の睡眠薬を10人の被験者にそれぞれ投与した際に,増加した睡眠時間を記録したものである.2種類の薬剤を同一被験者に投与しているので,その値には対応があるといえる.データセット sleep は以下のコマンドで確認できる.

$ print(sleep)

以下のコマンドにて,薬剤1および2によって生じた効果をそれぞれ新たな変数,agent1およびagent2に納める.

$ agent1=sleep[1:10,1]
$ agent2=sleep[11:20,1]

これらの平均は以下のコマンドで確認できる.

$ mean(agent1)
$ mean(agent2)

これを実行した結果はそれぞれ以下のようになる.これらの値に有意な差があるのかどうかを検定する.

0.75
2.33

対応のあるt検定は,コマンド t.test() にて実行できる.実際には,t.test(データセット1,データセット2,paired=T) のように打つ.この paired=T が対応のあるt検定を行うためのオプションで,これを F にするとウェルチのt検定が実行される.有意水準は0.05で検定すると決める.帰無仮説 (H0) は,2群間の平均値に差がないこと,となる.実際のコマンドは以下のように打つ.

$ t.test(x=agent1,y=agent2,paired=T)

これを実行した結果は以下のようになる.最初の行の Paired t-test というのが対応のあるt検定を行ったという表記である.結果より,p<0.05 なので,帰無仮説を棄却し,薬剤1と薬剤2の薬効には差があると結論する.

 
        Paired t-test

data:  agent1 and agent2
t = -4.0621, df = 9, p-value = 0.002833
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -2.4598858 -0.7001142
sample estimates:
mean of the differences 
                  -1.58 

オプション一覧

オプションには以下のようなものがある.

オプション詳細
xベクトル形式のインプットデータ.必須.
yx と比較したいデータ.
alternative両側検定か片側検定の指定.'alternative="t"' のように指定する.両側検定は 't',左側検定は 'l',右側検定は 'g'を指定する.デフォルトは両側検定.
pairedT か F で指定.データ間に対応があるかないかを指定するオプション.
var.equalデータ間に等分散性が仮定できるかどうかを T または F で指定.対応のあるt検定をする場合,不要.
Hatena Google+