この記事では、Rを使用してt検定を行う方法について解説しています。
t検定とは
t検定は、2つのグループの平均値に統計的に有意な差があるかどうかを調べる手法です。研究でよく使われる統計手法の一つです。
前提条件
t検定を実施する際には以下の条件を確認します。
- 対応の有無:
- 対応のあるデータ:同じ対象の前後比較(例:同じ人のダイエット前後の体重)
- 対応のないデータ:異なる対象の比較(例:異なる人々のグループ間比較)
- 正規性: データが正規分布に従っているか。
- 等分散性:2つの群のデータが等分散かどうか。
- 群数:比較する群が2つであること。
- データ尺度:データが間隔尺度または比率尺度であること。
仮説の設定
t検定を実施するためには、以下の仮説を設定します。
- 帰無仮説(H0):2つの群の平均に差はない。
- 対立仮説(H1):2つの群の平均に差がある。
t検定の種類
- ステューデントのt検定:2群の分散が等しいと仮定
- ウェルチのt検定:2群の分散が等しいと仮定できない場合に使用
- 対応のあるt検定:同一対象から得られた2つの関連する標本の比較
Rでt検定
Rを使ってt検定を実施する方法を紹介します。
関数と引数オプション
Rでt検定を行うには、t.test()
関数を使用します。引数を変更することで、ステューデントのt検定・ウェルチのt検定・対応のあるt検定を実行することができます。
この関数は次のように使います。
## ベクトルを使う方法
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"(両側検定、デフォルト)、"greater"(右片側検定)、"less"(左片側検定)のいずれか。頭文字のみでも指定可能。mu
: 真の平均値(または2標本検定の場合は平均値の差)を示す数値。paired
: 対応のあるt検定を行うかどうかを指定する論理値。var.equal
: 2つの分散を等しいとみなすかどうかを指定する論理値。TRUEの場合、プールされた分散を使用。FALSEの場合、WelchのまたはSatterthwaiteの自由度近似を使用。conf.level
: 信頼区間の信頼水準。formula
:lhs ~ rhs
形式の式。lhs
はデータ値を与える数値変数、rhs
は1標本または対応のある検定の場合は1
、2水準の因子の場合は対応するグループを指定。data
:formula
で指定された変数を含むオプションの行列またはデータフレーム。subset
: 使用する観測値のサブセットを指定するオプションのベクトル。na.action
: データにNAが含まれる場合の処理方法を指定する関数。デフォルトはgetOption("na.action")
。
コード例と結果の見方
以下は、Rで対応のない2つの群のt検定を行うコードの例です。
例として、新しい肥料を使った植物と使わなかった植物の成長データを使用します。
# データの準備
data <- data.frame(
草丈 = c(15.2, 16.5, 14.8, 16.1, 15.9, 14.2, 13.9, 14.7, 14.5, 14.6),
肥料 = factor(rep(c("あり", "なし"), each = 5))
)
# t検定の実施
t.test(草丈 ~ 肥料, data = data, var.equal = TRUE)
コードを実行すると次の結果が得られます。
Two Sample t-test
data: group1 and group2
t = 3.869, df = 8, p-value = 0.004748
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
0.5332503 2.1067497
sample estimates:
mean of x mean of y
15.70 14.38
この結果には、t値、自由度(df)、p値、信頼区間、および各群の平均値が含まれています。有意水準が5%とするとき、p値が0.05より小さい場合、帰無仮説を棄却し、2つの群の平均に有意な差があると結論づけます。
この例では、p値が0.004748であり、2つの群の平均に有意な差があると結論できます。
この記事はRを使用してt検定を行う方法について解説しました。
次回は分散分析の方法についてさらに詳しく紹介します。
この記事が少しでもお役に立てたら嬉しいです。