R の Wilxox test: ノンパラメトリックな 2 群比較

UB3/informatics/r/wilcox_test

このページの最終更新日: 2023/02/14

  1. 概要: R の wilcox.test 関数
    • 実例 1
  2. 2 つのベクターデータを比較する
  3. カテゴリーデータの wilcox.test

広告

概要: R の wilcox.test 関数

R では Wilcoxon rank-sum test の名前が使われている。Mann-Whitney の U テストと同じ検定で、正規分布を仮定しない 2 つの群の平均値 が異なるかどうかを評価するノンパラメトリックな検定である。

wilcox.test 関数は、データ数の合計が 50 未満で、同値がない場合にのみ正確な p 値を計算する (1)。同値がある場合は、近似で p 値を計算するしかないらしい。同値がある場合は cannot compute exact p-value with ties という警告が出る。

同値がある場合でも実行できる wilcox.exact() という関数があり、これを使用するには exactRankTests パッケージをインストールする必要がある (2)。

install.packages("exactRankTests", repos="http://cran.ism.ac.jp/")
library(exactRankTests)

2 つのベクターデータを比較する

2 つのベクター形式のデータがあれば実行可能。

wilcox.test(x, y)

可能なオプションは以下の通り (2)。

alternative

片側検定または両側検定の選択。two.sided, less, greater のいずれかを選ぶ。

alternative = c("two.sided", "less", "greater")

paired

対応の有無。TRUE または FALSE で指定、デフォルトは FALSE。

conf.int

信頼区間 を計算するかどうか。TRUE または FALSE、デフォルトは TRUE。

correct

p 値に正規近似の連続性の補正を適用するかどうか、TRUE or FALSE。

「連続性の補正」 とは、データが離散値であるにも関わらず、連続値として想定し、連続分布を使って近似する手法である (3)。

実例 1

データの作り方については、R: データフレームの作成 を参照のこと。一次元なので、Excel からコピペするのが簡単だと思ったので、上記の R: データフレームの作成 にある通り

group1=read.table(pipe("pbpaste"))
group2=read.table(pipe("pbpaste"))

として 2 つのグループを作り、wilcox.test(group1,group2) で検定した。ところが

Error in wilcox.test.default(group1,group2) : 'x' must be numeric

というエラーが出てしまい、どうも変数が数値として認識されていないようであった。たぶん Excel からコピペすると list 型になってしまうのだろう。

カテゴリーデータの wilcox.test

cars という 組み込みデータセット を使った例を載せておく。このページ に、この方法に関する詳しい解説がある。

Rの組み込みデータセット cars

cars の dist を 0 と 1 に変換し、これを用いて wilcox.test を行う。何が出力されるかを見るために、結果を A に格納。A はこんな感じ。

formula の表現で、y ~ x は「変数 y を x で予測する」の意味 なので、この場合は speed を dist で予測していることになる。


広告

References

  1. Rによるウィルコクソンの順位和検定. Link: Last access 2022/04/25.
  2. RDocumentation. wilcox.test: Wilcoxon Rank Sum and Signed Rank Tests. Link: Last access 2022/04/25.
  3. Rosner 2016a. Fundamentals of Biostatistics.

平均値や中央値から始まり、t 検定、ANOVA、回帰分析まで、普通の論文で使う統計手法を網羅している本。とにかくグラフ付きの実例が多く、さらにその実例は論文からとられているので、実践的な生物統計を学びたい人にはおすすめの一冊。

統計の本は古くてとっつきにくいものが多いが、2016 年と比較的最近の本であることも特徴だ。著者はハーバード公衆衛生の Bernard Rosner。経歴を見ると医学統計のエキスパートだが、この本は シグマ記号の意味が実例つきで紹介されている ことからも分かる通り、平易な解説になっている。

たぶん高校の上級から大学の学部生あたりが基本的なターゲットで、研究に使う際に統計の基礎をチェックしたい研究者にも適した本になっている。


  1. 連続性の補正、という言葉について。Link: Last access 2022/04/25.

コメント欄

サーバー移転のため、コメント欄は一時閉鎖中です。サイドバーから「管理人への質問」へどうぞ。