質問
3つのグループの人のテストスコアは、Rの個別のベクトルとして保存されます。
set.seed(1)
group1 <- rnorm(100, mean = 75, sd = 10)
group2 <- rnorm(100, mean = 85, sd = 10)
group3 <- rnorm(100, mean = 95, sd = 10)
これらのグループの中央値に大きな違いがあるかどうかを知りたいです。ウィルコクソン検定を使用して、グループ1とグループ2をテストできることを知っています。
wilcox.test(group1, group2)
ただし、これは一度に2つのグループのみを比較するため、3つすべてを同時に比較したいと思います。0.05の有意水準でp値が得られる統計的検定が必要です。誰か助けてくれますか?
編集#1-ムードの中央値検定
ユーザーHibernatingの提案された答えに従って、Moodの中央値テストを試しました。
median.test <- function(x, y){
z <- c(x, y)
g <- rep(1:2, c(length(x), length(y)))
m <- median(z)
fisher.test(z < m, g)$p.value
}
median.test(group1, group2)
ただし、このアプローチでは、一度に2つのグループのみの中央値の有意差をテストできます。3つすべての中央値を同時に比較するためにどのように使用するのかわかりません。
編集#2-クラスカル・ワリス検定
ユーザーdmartinの提案された答えは、多かれ少なかれ必要なものであり、3つのグループすべてを同時にテストすることができます。
kruskal.test(list(group1, group2, group3))
編集#3
ユーザーGreg Snowは、Kruskal-Wallisテストが手段のテストでもあるという厳密な仮定を立てる限り、適切であると答えています。
median test
。私自身の答え/コメントはこちらです。