LoginSignup
3
1

More than 1 year has passed since last update.

【R】平均値の差を比較する方法(t検定)

Last updated at Posted at 2019-02-01

t検定の基本

t検定とは

  • 2つの母集団から抽出した標本(2群)の平均値が等しいかどうかを検定する方法。
    • 前提として、2群のデータがそれぞれ正規分布に従うと仮定している。

独立or対応

  • 独立した(対応のない)2標本のt検定
    • 「男性と女性」「赤組と白組」などのように、別々のサンプル(標本)に対するt検定のこと。
  • 対応のある2標本のt検定
    • 「投薬前と投薬後」のように、同一の被験者に由来するサンプル(標本)に対するt検定のこと。

等分散性の仮定

  • 等分散性を仮定するt検定
    • 2群の分散が等しいと仮定する場合。
    • 「スチューデント(Student)のt検定」と呼ばれる。
  • 等分散性を仮定しない
    • 2群の分散が等しいと仮定しない場合。
    • 「ウェルチ(Welch)のt検定」と呼ばれる。

t検定の使い分け

独立した2標本 対応のある2標本
等分散性を仮定する スチューデントのt検定 対応のある2標本のt検定
等分散性を仮定しない ウェルチのt検定 対応のある2標本のt検定

独立した(対応のない)2標本のt検定の例

テストデータ

  • 以下のデータは、ある山の東側(east)と西側(west)で測定した葉のサイズ(mm^2)です。
leaf_size.csv
east,west
4632.4,4159.1
3481,3844.4
3267.8,3135.0
3130.9,2837.2
3108,2801.2
2575.4,2587.8
4556.9,5180.1
4343.5,3635.9
4130.3,2651.1
2824,2642.7

t検定の実行

  • ここでは、等分散性を仮定しない「ウェルチのt検定」を使っています。
    • 2群のデータに等分散性が認められる場合でも、ウェルチのt検定を使用して問題ないようです。
    • 等分散性を仮定する場合は、引数として"var.equal=TRUE"を指定します。
  • t.test関数の引数として、2群のデータ(東側と西側のデータ)を指定しています。
    • t検定に使うデータをデータフレームとして読み込んでおくと、"データフレーム名$列名"で指定できるので、引数を誤って指定する心配が減ると思います。
  • 結果を見ると、p値(p-value)が0.48となっているので、「東西斜面間で、葉のサイズに有意差は認められない」ということになります。
    • 一般的に、p値が0.05もしくは0.01未満であれば、統計学的に有意差があるとされています。
Rのコンソール
> # leaf_size.csvを読み込んで、"leaf_size"という名前のデータフレームに格納する。
> leaf_size <- read.table("C:\\leaf_size.csv", header=TRUE, encoding="CP932", sep=",")
> # ウェルチのt検定の実行
> t.test(x=leaf_size$west, y=leaf_size$east)

        Welch Two Sample t-test

data:  leaf_size$west and leaf_size$east
t = -0.71856, df = 17.719, p-value = 0.4818
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -1011.5081   496.3681
sample estimates:
mean of x mean of y 
  3347.45   3605.02 
3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1