【R】Rでt検定を行う

R

今回は、Rでt検定を実行する方法と、t検定の手法選択に必要な等分散性の検定の方法を紹介します。

t検定とは?

あくまでRでのt検定のやり方の紹介ですので、詳細な理論説明は省略しますが、ざっくりt検定を説明します。

t検定は2つの群の平均値の差に違いがあるかを調べる検定です。
前提条件として、2つの群がともに正規分布に従うという点があります。
t検定の中にもいくつか種類があり、2つの群の分散が同じといえるかどうかによって使用する手法も異なります。

そのため、t検定を実施する前に等分散性の検定(F検定)を行い、2つの群の分散の違いを確認した後に、適切なt検定の方法で検定を行うのが一般的な流れです。
今回も、等分散性の検定→t検定の順にやり方を確認していきましょう。

等分散性の検定

等分散性の検定(F検定)の、Rでの実施方法は
var.test(A, B) です。

適当なサンプルデータを作成して実際にやってみます。

p値(p-valueの部分)が0.8961となりました。
この検定の帰無仮説は2群の分散が等しいということなので、有意水準を5%とすると、この仮説を棄却できなかったことになり、等分散と仮定します。

F検定の結果はざっくりと下記のように解釈しましょう。

  • p値>有意水準…2つの群は等分散といえる
  • p値<有意水準…2つの群の分散は異なるといえる

t検定

等分散性を確認した後は、それぞれ次の方法によりt検定を実施します。

  • 等分散である…Studentのt検定
  • 分散が異なる…Welchのt検定

それぞれのやり方を見てみましょう。

Studentのt検定

RでStudentのt検定を実施する際は
t.test(データA, データB, var.equal = TRUE) と書きます。

「var.equal」が分散が同じかどうかを指定するオプションなので、等分散の場合はTRUEにしているんですね。

結果を見ると、p値は0.5274と出ています。
t検定の帰無仮説は2つの群の平均値に差がない、というものなので、有意水準5%のもとではこの仮説は棄却されないことになります。
つまり、差があるとはいえない、ということですね。

Welchのt検定

RでWelchのt検定を実施する際は
t.test(データA, データB, var.equal = FALSE) または
t.test(データA, データB)
と書きます。

2つ目の書き方はvar.equalを指定しないけどいいの?と思われた方、、
そう、Rではvar.equalのデフォルトの設定はWelchのt検定になっているのです!

今回のサンプルデータは等分散でしたので本来はWelchのt検定を使うものではないですが、一応結果画面を見ておきましょう。

結果の部分に Welch Two Sample t-test と表示されています。
本当はStudentのt検定をやりたかったのに、var.equalの設定を忘れて実はWelchのt検定をやっていた、とならないようにp値だけではなく結果画面は全体をしっかり確認しておきましょう。

コメント

タイトルとURLをコピーしました