【R講座】クラスカル・ウォリス検定の方法と実践

R

研究室に配属されたばかりの新入生や、これからRで統計分析を始めたいと思っている方へ向けて、【R講座】では、RとRStudioの基本的な使い方から統計手法の選び方、基本的なデータ分析方法までを解説しています。

特にRが初めての方でも安心して学べるように、難しいコマンドやコードは少なめで、RStudioのクリック操作を中心に進めていくので、プログラミングの経験がなくても大丈夫です。

実際のコードを交えながら進めるので、これからの研究やデータ分析に、ぜひ役立ててください!

R講座の記事一覧
「R講座」の記事一覧です。

この記事では、クラスカル・ウォリス検定について紹介しています。

クラスカル・ウォリス検定とは

クラスカル・ウォリス検定は、3群以上の順位データを比較するためのノンパラメトリック検定です。この検定は、一元配置分散分析のノンパラメトリック版とも言えます。

前提設定

  • 対応の有無:独立した群
  • 正規性:不要
  • 等分散性:等分散を仮定
  • 群数:2群以上
  • データ尺度:順序尺度または比例尺度・間隔尺度

仮説の設定

  • 帰無仮説(H0:全ての群の分布が同じである
  • 対立仮説(H1:少なくとも1つの群の分布が他と異なる

分散分析の種類

Rでクラスカル・ウォリス検定

関数と引数オプション

Rでクラスカル・ウォリス検定を行うには、kruskal.test()関数を使用します。

# kruskal.test()関数の基本的な使い方
kruskal.test(y ~ group, data = mydata)

# y: 応答変数(測定値)
# group: グループ変数
# data: データフレーム

コード例と結果の見方

例として、3種類の植物の成長速度を比較してみましょう。

# サンプルデータの作成
set.seed(123)
plant_a <- rnorm(20, mean = 5, sd = 1)
plant_b <- rnorm(20, mean = 6, sd = 1)
plant_c <- rnorm(20, mean = 5.5, sd = 1)

# データフレームの作成
growth_data <- data.frame(
  growth = c(plant_a, plant_b, plant_c),
  plant = rep(c("A", "B", "C"), each = 20)
)

# クラスカル・ウォリス検定の実行
kruskal.test(growth ~ plant, data = growth_data)
# 結果
Kruskal-Wallis rank sum test

data:  growth by plant
Kruskal-Wallis chi-squared = 6.7715, df = 2, p-value = 0.03385

有意水準が5%の場合、この例では、p値が0.03385で0.05より小さいため、有意水準5%で帰無仮説を棄却します。つまり、少なくとも1つの植物の成長速度が他と異なると結論づけられます。


この記事では、クラスカル・ウォリス検定について紹介しました。

次回はSteel-Dwass検定の方法について紹介します。

タイトルとURLをコピーしました