【R講座】フリードマン検定の方法と実践

R

この記事では、フリードマン検定について紹介しています。

フリードマン検定とは

フリードマン検定は、繰り返し測定データを分析するために使用されるノンパラメトリック統計検定です。主に、分散の正規性と均質性の仮定が満たされない場合に使用され、繰り返し測定ANOVAのノンパラメトリック版となります。

前提設定

  • 対応の有無:対応あり
  • 正規性:不要
  • 等分散性:不要
  • 群数:3群以上
  • データ尺度:順序尺度

仮説の設定

  • 帰無仮説(H0:各群間に有意差はない。
  • 対立仮説(H1:少なくとも1つの群間に有意差がある。

Rでフリードマン検定

関数と引数オプション

フリードマン検定を行うための基本的な関数はfriedman.testです。この関数には以下のような引数があります。

# データのyを指定し、groupsとblocksを指定する
friedman.test(y, groups, blocks, ...)

# データのy、groups、blocksを指定する
friedman.test(y, groups, blocks, ...)

# データフレームと式を使用する場合
friedman.test(formula, data, subset, na.action, ...)
  • y:数値データ値のベクトル、またはデータマトリックスのいずれか。
  • groups:yがベクトルの場合、対応する要素のグループを示すベクトル。yがマトリックスの場合は無視される。factorオブジェクトでない場合は、factorに強制変換される。
  • blocks:yがベクトルの場合、対応する要素のブロックを示すベクトル。yがマトリックスの場合は無視される。factorオブジェクトでない場合は、factorに強制変換される。
  • formula:a ~ b | cの形式の式。a、b、およびcはそれぞれデータ値、対応するグループ、およびブロックを示す。
  • data:省略可能なマトリックスまたはデータフレーム(または類似のもの:model.frameを参照)で、formula内の変数を含む。デフォルトでは、変数はenvironment(formula)から取得される。
  • subset:使用する観察のサブセットを指定する省略可能なベクトル。
  • na.action:データにNAが含まれている場合に何を行うべきかを示す関数。デフォルトはgetOption("na.action")。
  • :メソッドからまたはメソッドへのさらに多くの引数。

コード例と結果の見方

以下に、実際にRコードを使ってフリードマン検定を行う例を示します。

# サンプルデータの作成
# 植物の成長に対する3つの異なる肥料の効果を比較する
data <- data.frame(
  growth = c(21, 20, 19, 18, 30, 29, 28, 25, 40, 39, 38, 37),
  fertilizer = factor(rep(c("A", "B", "C"), each = 4)),
  block = factor(rep(1:4, 3))
)

# フリードマン検定の実行
friedman.test(growth ~ fertilizer | block, data = data)
Friedman rank sum test

data:  growth and fertilizer and block
Friedman chi-squared = 8, df = 2, p-value = 0.01832

この結果から、有意水準を5%とするとき、p値が0.01832であることから帰無仮説を棄却し、少なくとも一つの群間に有意差があると結論できます。


この記事はフリードマン検定について紹介しました。

次回はマクネマー検定の方法について紹介します。

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

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

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

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