【R講座】t検定の方法と実践

R

この記事では、Rを使用してt検定を行う方法について解説しています。

t検定とは

t検定は、2つのグループの平均値に統計的に有意な差があるかどうかを調べる手法です。研究でよく使われる統計手法の一つです。

前提条件

t検定を実施する際には以下の条件を確認します。

  • 対応の有無
    • 対応のあるデータ:同じ対象の前後比較(例:同じ人のダイエット前後の体重)
    • 対応のないデータ:異なる対象の比較(例:異なる人々のグループ間比較)
  • 正規性: データが正規分布に従っているか。
  • 等分散性:2つの群のデータが等分散かどうか。
  • 群数:比較する群が2つであること。
  • データ尺度:データが間隔尺度または比率尺度であること。

仮説の設定

t検定を実施するためには、以下の仮説を設定します。

  • 帰無仮説(H0:2つの群の平均に差はない。
  • 対立仮説(H1:2つの群の平均に差がある。

t検定の種類

  • ステューデントのt検定:2群の分散が等しいと仮定
  • ウェルチのt検定:2群の分散が等しいと仮定できない場合に使用
  • 対応のあるt検定:同一対象から得られた2つの関連する標本の比較

F検定(等分散性の検定)後にt検定を行うのではなく、最初からウェルチのt検定を使用することで検定の多重性(複数の検定を行うことによる誤った結論のリスク)を避けることができます。

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検定を行う方法について解説しました。

次回は分散分析の方法についてさらに詳しく紹介します。

この記事が少しでもお役に立てたら嬉しいです。

プロフィール
この記事を書いた人

農学の博士前期課程を修了した研究者の卵。
植物生理と環境調節をテーマに研究しています。

Masaをフォローする
R統計
Masaをフォローする
タイトルとURLをコピーしました