例として,10 人の患者から成る 2 つのグループがあり,それぞれの患者に2つの睡眠薬を飲ませ,睡眠時間がどれだけ増加したかを示すデータ(データ名:sleep)を挙げる.
group1 |
0.7 |
-1.6 |
-0.2 |
-1.2 |
-0.1 |
3.4 |
3.7 |
0.8 |
0.0 |
2.0 |
|
group2 |
1.9 |
0.8 |
1.1 |
0.1 |
-0.1 |
4.4 |
5.5 |
1.6 |
4.6 |
3.4 |
検定を行うために,上記のデータを R に読み込ませる.
group1 <- c(0.7,-1.6,-0.2,-1.2,-0.1,3.4,3.7,0.8,0.0,2.0) # グループ 1 の睡眠時間の増加 group2 <- c(1.9, 0.8, 1.1, 0.1,-0.1,4.4,5.5,1.6,4.6,3.4) # グループ 2 の睡眠時間の増加 |
t 検定
t 検定とは帰無仮説が正しいと仮定した場合に、統計量がt分布に従うことを利用する統計学的検定法の総称である。
一標本 t 検定
関数 t.test() で 1 標本 t 検定を行う場合の書式と引数を挙げる. 一番目の引数にデータを与えればとりあえず検定が出来る. 全ての引数を指定する必要は無い. を指定すれば検定が行われる.
t.test(x, alternative=c("two.sided","less","greater"), mu=0, paired=FALSE, var.equal=FALSE, conf.level=0.95) |
ここで,グループ 1 のデータについて一標本 t 検定を行う.この場合,母平均 mu が 0 であるかどうかを検定して,95% 信頼区間を求めている.
t.test(group1, mu=0) One Sample t-test data: group1 t = 1.3257, df = 9, p-value = 0.2176 alternative hypothesis: true mean is not equal to 0 95 percent confidence interval: -0.5297804 2.0297804 sample estimates: mean of x 0.75 |
結果は有意ではない(母平均 mu が 0 でないとはいえない).出力結果を解説する.
出力 |
機能 |
data |
検定を行ったデータの名前. |
t = 1.3257 |
t の値.これが棄却域に入っているかを見ている. |
df = 9 |
t の自由度. |
p-value = 0.2176 |
p 値.これが 0.05 より小さければ有意差がある(今は有意差が出ていない). |
alternative hypothesis |
対立仮説(今は「母平均が 0 ではない」). |
95 percent confidence interval |
95%信頼区間.信頼区間は [-0.5297804 2.0297804] となっている. |
sample estimates |
推定値.今は標本平均を推定していて 0.75 となっている. |
今は両側検定を行ったが,片側検定を行うことも出来る.
t.test(group1, mu=65, alternative="greater") One Sample t-test data: group1 t = -113.5692, df = 9, p-value = 1 alternative hypothesis: true mean is greater than 65 95 percent confidence interval: -0.2870553 Inf sample estimates: mean of x 0.75 |
二標本 t 検定
「グループ1の睡眠増加時間の平均」と「グループ2の睡眠増加時間の平均」で差があるかどうかを検定する方法を紹介する.関数 t.test() で二標本 t 検定を行う場合の書式と引数を挙げる.
t.test(x, y, alternative=c("two.sided","less","greater"), mu=0, paired=FALSE, var.equal=FALSE, conf.level=0.95) |
関数 t.test() は以下の引数を指定することが出来る.
出力 |
機能 |
x |
データ値の数値ベクトル. |
y |
追加のデータ値.一標本について検定を行う場合は省略,二標本検定を行う場合はデータを入れる. |
alternative="two.sided" |
両側検定が行われる.alternative の指定を省略しても両側検定が行われる. |
alternative="greater" |
より大きいかどうかの検定 (片側検定) . |
alternative="less" |
より小さいかどうかの検定 (片側検定) . |
mu |
真の平均の値.二標本検定の場合は平均の差を入力. |
paired |
論理値を入力.ここに TRUE を入れると対応のある t 検定をする. |
var.equal |
論理値を入力. ここに TRUE を入れると 2 つの標本の分散が等しいと仮定される. |
conf.level |
信頼度. |
実際の検定はこちら.ここでは分散が等しいと仮定して,関数 t.test() を用いて検定を行う.
t.test(group1, group2, var.equal=T) Two Sample t-test data: group1 and group2 t = -1.8608, df = 18, p-value = 0.07919 alternative hypothesis: true difference in means is not equal to 0 95 percent confidence interval: -3.3638740 0.2038740 sample estimates: mean of x mean of y 0.75 2.33 |
p 値(p-value)は 0.07919 となっており 0.05 よりも大きい.よって,結果は有意ではない(差があるとはいえない).出力結果を解説する.
出力 |
機能 |
statistic |
t 統計量の値. |
parameters |
t 統計量の自由度. |
p.value |
検定の p 値.特に重要.有意水準 5% で検定している場合,この値が 0.05 よりも小さければ帰無仮説が棄却され有意とされる.逆ならば帰無仮説が採択され,有意ではないとされる. |
95 percent confidence interval |
平均の 95% 信頼区間. |
estimate |
一標本の場合は推定された平均の値.二標本の場合は推定された平均の差. |
null.value |
一標本の場合は仮定された平均の値.二標本の場合は仮定された平均の差. |
alternative |
対立仮説を表す文字列. |
method |
t 検定の種類を表す文字列. |
data.name |
データの名前を表す文字列. |
等分散を仮定しない場合はオプション var.equal=T を外せばよい.var.equal=F とした場合は「ウェルチの検定」を行う.
t.test(group1, group2, var.equal=F) Welch Two Sample t-test data: group1 and group2 t = -1.8608, df = 17.776, p-value = 0.0794 alternative hypothesis: true difference in means is not equal to 0 95 percent confidence interval: -3.3654832 0.2054832 sample estimates: mean of x mean of y 0.75 2.33 |
検定結果の取り出し
検定結果を変数などに代入したい場合がある.このとき,検定結果を適当な変数に代入した後,関数 names() で中身を調べればよい.
out1 <- t.test(y1, y2,var.equal=T) names(out1) [1] "statistic" "parameter" "p.value" "conf.int" "estimate" [6] "null.value" "alternative" "method" "data.name" out1$p.value # p 値の取り出し [1] 0.005408422 |
等分散性の検定:F 検定
F検定とは、帰無仮説が正しければ統計量がF分布に従うような統計学的検定の総称である。 次のようなものがある:
1.正規分布に従う2つの群の「標準偏差が等しい」という帰無仮説の検定。 これはt検定の前段階の「等分散性検定」として用いられる。
2.正規分布に従う複数の群(標準偏差は等しいと仮定する)で、「平均が等しい」(つまり同じ母集団に由来する)という帰無仮説の検定。この方法は分散分析に用いられる。
データ sleep について,関数 var.test() で,group1 と group2 の母分散が等しいかどうかの検定を行う.
var.test(group1, group2) F test to compare two variances data: group1 and group2 F = 0.7983, num df = 9, denom df = 9, p-value = 0.7427 alternative hypothesis: true ratio of variances is not equal to 1 95 percent confidence interval: 0.198297 3.214123 sample estimates: ratio of variances 0.7983426 |
Back to R