研究室に配属されたばかりの新入生や、これからRで統計分析を始めたいと思っている方へ向けて、【R講座】では、RとRStudioの基本的な使い方から統計手法の選び方、基本的なデータ分析方法までを解説しています。
特にRが初めての方でも安心して学べるように、難しいコマンドやコードは少なめで、RStudioのクリック操作を中心に進めていくので、プログラミングの経験がなくても大丈夫です。
実際のコードを交えながら進めるので、これからの研究やデータ分析に、ぜひ役立ててください!
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であることから帰無仮説を棄却し、少なくとも一つの群間に有意差があると結論できます。
この記事はフリードマン検定について紹介しました。
次回はマクネマー検定の方法について紹介します。