実装関連事項

各種プログラミング言語の基本的な書き方やソフトウェア等の使用方法について.

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+