Rでt検定
t検定
t検定
- 【ざっくりいうと】
- 統計的仮説検定のひとつ。2群の平均値を比較する手法
- 【厳密にいうと】
- 2群の背後に仮定される母集団の平均値が異なることを示したい場合に使用する
- 【数学的には】
- 2群の背後に単一の母集団を仮定して,その仮定の下で今回のデータが得られる確率を計算する
- → その確率があまりに低かったら,2群は単一の母集団からサンプルされたのではないと結論する
t検定の種類
t検定の種類
- 片側検定⇔ 両側検定
- 片側検定:どちらかがどちらかよりも平均値が大きい!という仮説がある
- 両側検定:2群の平均値は違うだろう!という仮説
- 対応のないt検定⇔ 対応のあるt検定
- 対応なし:2群のデータに対応(高い相関)が仮定されない
- 対応あり:2群のデータに対応(高い相関)が仮定される:同じ対象(参加者など)からデータが生成されるなど
- Rではウェルチのt検定がデフォルトになっている(これでいい)
統計検定の詳しいこと(初歩的なこと)については心理学統計入門(板口・森,2017)を参照ください(Amazonリンク)
Rでt検定
Rでt検定
- t.test(x, y)
- x, yにそれぞれの群(条件)のデータを入力する
- x, yは一列ずつ,数値データ
- オプション
- 片側検定⇔両側検定(デフォルト)
- alternative = "greater", "less", "two.sided"(default)
- 対応のないt検定(デフォルト)⇔対応のあるt検定
- paired = T, F (default)
- 片側検定⇔両側検定(デフォルト)
t検定の実行と結果の保存
t検定の実行と結果の保存
ダミーデータに対するt検定
ダミーデータに対するt検定
result <- t.test(1:10, 2:11)
result
Welch Two Sample t-test
data: 1:10 and 2:11
t = -0.73855, df = 18, p-value = 0.4697
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-3.844662 1.844662
sample estimates:
mean of x mean of y
5.5 6.5
結果の値を得る
結果の値を得る
- resultに保存された結果をひとつずつ取り出すことが可能
- result$statistic: t値
- result$parameter: 自由度
- result$p.value: p値
- result$conf.int: 信頼区間
- result$estimate: それぞれの群の平均値
- result$null.value: それぞれの群の平均値
空書データに対するt検定
空書データに対するt検定
- Itaguchi et al. (2019)のデータを使用する(基礎3と同じ作業)
- Supporting informationの下のDownloadからファイルをダウンロードする
- https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0226832
- ※ 論文では,「3条件の成績の比較」=分散分析をしていることに注意
- 今回は練習としてそのうちの2群のデータを抜き出してt検定をおこなう
# read.xlsxで読みこんだデータをdataに保存
library(openxlsx)
data <- read.xlsx("pone.0226832.s001.xlsx")
# 空書データは同じ人から得られたデータなので,対応のあるt検定を使う
# 空書データは空書条件の方が成績が良いという仮説があるため,片側検定を使う
# 例として,空書条件と静止条件の成績を比較する
result2 <- t.test(data$Kusho, data$Static, alternative="greater", paired=T)
result2
Paired t-test
data: data$Kusho and data$Static
t = 4.02, df = 25, p-value = 0.0002353
alternative hypothesis: true difference in means is greater than 0
95 percent confidence interval:
0.8626305 Inf
sample estimates:
mean of the differences
1.5
効果量dの算出
効果量dの算出
- 効果量とは効果の大きさに関する指標であり,サンプルサイズ(データ数)から独立である
- 詳しいことは教科書参照してください
- 今回は,2群の差に関する効果量dを算出する
- ちなみに,人によっては少し算出式が異なるので注意(どれがいいかは議論あり)
t値から算出する方法
t値から算出する方法
- 論文に書いてあるt値からでも事後的に算出可能
- 計算簡単なので,ぜひ覚えておいてください
- Rを使う場で言うのもなんだけど,電卓やエクセル等で計算してもOK
- 対応なしのt検定
- d = |t| × sqrt( (n1 + n2) / (n1 × n2) )
- n1,n2はそれぞれの群内のデータ数(あるいは参加者数)
- 2群のデータ数が 等しいときには,当たり前だけどn1=n2
- d = |t| × sqrt( (n1 + n2) / (n1 × n2) )
- 対応ありのt検定
- d = |t| × sqrt(1 / n)
- nは1群内のデータ数(あるいは参加者数)
- d = |t| × sqrt(1 / n)
# 実行
# nrowはデータの行数を数えてくれる関数
d1 <- abs(result$statistic)*sqrt((10+10)/10*10)
d2 <- abs(result2$statistic)*sqrt(1/nrow(data))