昔SPSSでやった記憶はあるがRではやったことがない。
少し調べてみるとx群とy群をそれぞれベクトルで与えてwilcox.test(x,y)
とするみたいな解説がたくさん見つかった。間違いではないが、一つの連続変数に対して男女の違いはあるかないかみたいな使い方をするので、xとyが別のベクトルになっていることは現実的ではない。もちろんデータの前処理をすればよいのかもしれないが、めんどくさい。
英語で調べるとちゃんとプラクティカルな方法が出てくる。
データの紹介
mtcars
データを利用する。
まず車の燃費。
> mtcars $ mpg [1] 21.0 21.0 22.8 21.4 18.7 ...
次にトランスミッションのタイプ(0 =自動、1 =手動)。
> mtcars $ am [1] 1 1 1 0 0 0 0 0 ...
Wilcoxon-Mann-Whitney検定
wilcox.test(mpg ~ am, data=mtcars)
結果。
Wilcoxon rank sum test with continuity correction data: mpg by am W = 42, p-value = 0.001871 alternative hypothesis: true location shift is not equal to 0
平均値の計算
平均値を出すコードはなさそうなのでtapply
で。
with(mtcars, tapply(mpg, am, mean, na.rm=TRUE))
結果。
0 1 17.14737 24.39231