t検定 t.test

 注:t検定という名前を使うのは勧められない

*機能

(1) 独立二標本の平均値の差の検定いわゆる「t検定」を行う。~
 ・ 二標本の分散が等しいことを仮定する場合~
 ・ 二標本の分散が等しいことを仮定しない場合(こちらがデフォルトであることに注意)~
(2) 対応のある二標本の平均値の差の検定を行う。~
(3) 一標本の母平均の検定を行う。

*使用法

 t.test(x, y = NULL, alternative = c("two.sided", "less", "greater"), mu = 0, paired = FALSE,
        var.equal = FALSE, conf.level = 0.95, ...)
 t.test(formula, data, subset, na.action, ...)

*引数

 x		データを表すベクトル
 y		データを表すベクトル(一標本の検定の場合には省略)
 alternative	対立仮説の種類 "two.sided", "less", "greater" のいずれか
 		最初の1文字だけでもよい
             	両側検定なら "two.sided"
             	片側検定なら "less" または "greater"
             	デフォルトは "two.sided"
 mu		二標本検定の場合には母平均の差
		一標本検定の場合には母平均の値
 paired		対応のある二標本の母平均の差の検定を行う場合に TRUE を指定する
		デフォルトは FALSE になっている 
 var.equal	独立二標本検定の場合で等分散を仮定する場合に TRUE を指定する
 		デフォルトは FALSE になっている(Welch の方法による t 検定が行われる)
 conf.level	信頼率
             	デフォルトは 0.95
 formula	「左辺値 ~ 右辺値」の形をしたモデル式
		左辺値は平均値を検定する数値変数
		右辺値は2群を表す2つの水準をもつ factor 変数
 data		モデル式に出てくる変数がデータフレームに含まれる場合はそれ,を含むデータフレーム名
 subset		観察データのサブセット
 na.action	データに NA が含まれるときに適用される関数(注)
 		デフォルトは getOption("na.action") により示されるもの(通常は na.omit 関数)
 ...		その他の引数

注:[[超訳:NAの扱い]]

*戻り値

**関数への入力

 $ null.value : 母平均の差または母平均(mu で指定したもの)
 $ alternative: 対立仮説の種類

**関数からの出力

 $ statistic  : t 統計量
 $ parameter  : 自由度(Welch の方法の場合は小数自由度になることがある)
 $ p.value    : P 値
 $ conf.int   : 母平均の差または母平均の信頼限界値
 $ estimate   : 標本平均(母平均の推定値)
 $ method     : 検定の種別
 $ data.name  : データの記述

*例1 独立二標本の平均値の差の検定;等分散を仮定しない場合---Welch の方法

二群のデータを,二つのベクトル(x, y など)として用意して,t.test(x, y) などとすればよいだけである。~
データフレームとして用意されているときは,例 7 も参照のこと。~

 > x <- c(2,3,2,1,3,5,6)
 > y <- c(3,2,4,3,6,7,9,6)
 > t.test(x, y)	# t.test(x, y, var.equal=FALSE) と同じ
 
 	Welch Two Sample t-test # Welch の方法による検定
 
 data:  x and y 
 t = -1.7219, df = 12.708, p-value = 0.1093 # 小数自由度の P 値が計算される
 alternative hypothesis: true difference in means is not equal to 0 
 95 percent confidence interval: # 95% 信頼区間
  -4.192659  0.478373 # 母平均の差の信頼限界値(下側信頼限界値と上側信頼限界値)
 sample estimates: # 標本平均
 mean of x mean of y 
  3.142857  5.000000 

引数 mu により指定した母平均の差の点推定値は以下のようにすれば出力できる
 > a <-t.test(x, y)
 > a$null.value
 difference in means # 母平均の差
                   0 

*例2 独立二標本の平均値の差の検定;等分散を仮定する場合

 > x <- c(2,3,2,1,3,5,6)
 > y <- c(3,2,4,3,6,7,9,6)
 > t.test(x, y, var.equal=TRUE) # var.equal=TRUE を明示しないといけない
 
 	Two Sample t-test # 普通の t 検定が行われた
 
 data:  x and y 
 t = -1.6864, df = 13, p-value = 0.1155
 alternative hypothesis: true difference in means is not equal to 0 
 95 percent confidence interval:
  -4.2362138  0.5219281 # 当然ながら信頼限界値も異なる
 sample estimates:
 mean of x mean of y 
  3.142857  5.000000 

*例3 対応のある二標本の平均値の差の検定

 > a <- c(1,3,2,4,3,2) # 対応のあるデータ
 > b <- c(2,4,1,6,5,4)
 > t.test(a, b, paired=TRUE) # paired=TRUE を指定すること
 
 	Paired t-test # いわゆる「対応のある t 検定」が行われた
 
 data:  a and b 
 t = -2.4445, df = 5, p-value = 0.05833
 alternative hypothesis: true difference in means is not equal to 0 
 95 percent confidence interval: # 差の母平均の信頼区間
  -2.39350436  0.06017103 
 sample estimates: 差の標本平均
 mean of the differences 
               -1.166667 

*例4 母平均の検定(一標本)

例 3 の対応のあるデータの差を取ったデータを使うときは,一標本の検定(母平均の検定)になる(結果は対応のあるデータを使ったときと同じ)。

 > a <- c(1,3,2,4,3,2) # 対応のあるデータ
 > b <- c(2,4,1,6,5,4)
 > dif <- a-b
 > dif
 [1] -1 -1  1 -2 -2 -2
 > t.test(dif) # 名前のない引数が 1 つの場合は,一標本検定になる
 
 	One Sample t-test # 一標本検定(母平均の検定)である
 
 data:  dif 
 t = -2.4445, df = 5, p-value = 0.05833
 alternative hypothesis: true mean is not equal to 0 
 95 percent confidence interval: 平均値の差の信頼区間(母数はデフォルトの 0)
  -2.39350436  0.06017103 
 sample estimates:
 mean of x 
 -1.166667 

*例5 母平均の検定(一標本)

 > x <- c(9, 9.3, 11.1, 10, 9.1, 10.6, 8.9, 9.6, 8.5, 9.2)
 > t.test(x, mu=9) # 母平均が 9 であるかの検定 
 
 	One Sample t-test # 一標本検定(母平均の検定)である
 
 data:  x 
 t = 2.0663, df = 9, p-value = 0.06877
 alternative hypothesis: true mean is not equal to 9 
 95 percent confidence interval: # 母平均の信頼区間
   8.949772 10.110228 
 sample estimates: # 標本平均(母平均の推定値)
 mean of x
      9.53

*例6 モデル式による指定

例 1 と同じことをやる別法

 > x <- c(2,3,2,1,3,5,6)
 > y <- c(3,2,4,3,6,7,9,6)
 > data <- c(2,3,2,1,3,5,6, 3,2,4,3,6,7,9,6)
 > group <- factor(c(rep("male", 7), rep("female", 8)), levels=c("male", "female"))
 > group # factor 関数の levels 引数により適切に指定する方が混乱がない
  [1] male   male   male   male   male   male   male   female female female female
 [12] female female female female
 Levels: male female
 > t.test(data ~ group)
 
 	Welch Two Sample t-test
 
 data:  data by group 
 t = -1.7219, df = 12.708, p-value = 0.1093
 alternative hypothesis: true difference in means is not equal to 0 
 95 percent confidence interval:
  -4.192659  0.478373 
 sample estimates:
   mean in group male mean in group female 
             3.142857             5.000000

*例7 モデル式による指定

例 1 と同じことをやる別法~
例 6 と同じだが,データフレーム中の変数を使う場合

 > df <- read.table("df.dat") # ファイルからデータフレームを読む
 > df # 以下のようなデータフレーム(例 6 と同じ内容)
    data  group
 1     2   male
 2     3   male
 3     2   male
 4     1   male
 5     3   male
 6     5   male
 7     6   male
 8     3 female
 9     2 female
 10    4 female
 11    3 female
 12    6 female
 13    7 female
 14    9 female
 15    6 female
 > t.test(data ~ group, df) # 第二引数でデータフレーム名を指定する
 
 	Welch Two Sample t-test
 
 data:  data by group 
 t = 1.7219, df = 12.708, p-value = 0.1093
 alternative hypothesis: true difference in means is not equal to 0 
 95 percent confidence interval:
  -0.478373  4.192659 
 sample estimates:
 mean in group female   mean in group male 
             5.000000             3.142857


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS