t検定とは?
t検定は統計的仮説検定の一つであり、二つの群の平均値を比較するための手法です。
例えば、ある薬の効果を調べるために、薬を服用した群と偽薬を服用した群の平均血圧を比較する場合に使用します。
t検定の種類
片側検定と両側検定
- 片側検定:特定の方向に差があることを検定する(例:群Aの平均値が群Bの平均値より大きい)。
- 両側検定:差の方向を特定せずに検定する(例:群Aの平均値が群Bの平均値と異なる)。
対応のないt検定と対応のあるt検定
- 対応のないt検定:独立した二つの群を比較する。
- 対応のあるt検定:同じ対象に対して二つの異なる条件を適用して比較する(例:治療前後の同じ患者のデータ)。
等分散と不等分散
- スチューデントのt検定:二つの群の分散が等しいと仮定するときに使う。(等分散)
- ウェルチのt検定:二つの群の分散が等しいとは限らないと仮定するときに使う。(不等分散だけでなく等分散でもOK)
Rでt検定
Rでt検定を行うには、t.test
関数を使用します。以下に、関数と引数の説明と使用例を示します。
関数と引数
# t.test(x, y = NULL, alternative = "two.sided", mu = 0, paired = FALSE, var.equal = FALSE)
# x, y: 比較する二つのデータベクトル
# alternative: "two.sided" (両側検定), "less" (片側検定: x < y), "greater" (片側検定: x > y)
# mu: 帰無仮説での平均値の差 (デフォルトは0)
# paired: 対応のあるt検定ならTRUE, 対応のないt検定ならFALSE
# var.equal: 分散が等しいと仮定するならTRUE, 等しくないと仮定するならFALSE
使用例
# 例: 対応のないt検定、両側検定、等分散を仮定しない
group1 <- c(5.1, 4.9, 5.0, 4.8, 5.2)
group2 <- c(4.7, 4.6, 4.8, 4.5, 4.6)
t.test(group1, group2, alternative = "two.sided", var.equal = FALSE)
結果の見方
# 出力例
t.test(group1, group2, alternative = "two.sided", var.equal = FALSE)
Welch Two Sample t-test
data: group1 and group2
t = 3.6056, df = 8.4532, p-value = 0.005432
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
0.1583272 0.6416728
sample estimates:
mean of x mean of y
5.00 4.64
この結果から、p値が0.05よりも小さいため、群1と群2の平均値には有意な差があると結論付けられます。
CSVデータからt検定
CSVファイルを読み込み、t検定を実行する例を示します。
group | value |
---|---|
group1 | 1 |
group1 | 2 |
group1 | 1 |
group2 | 2 |
group2 | 3 |
group2 | 2 |
# データの読み込み
data <- read.csv("data.csv") #"data.csv"のパスとファイル名は適宜変更してください
# group列でデータを分割
group1 <- data[data$group == "group1", "value"]
group2 <- data[data$group == "group2", "value"]
# t検定の実行
t.test(group1, group2, alternative = "two.sided", var.equal = FALSE)
この記事では、t検定の紹介をしました。
この記事が少しでもお役に立てたら嬉しいです。