Rで順位和検定(対応のない2群の差のノンパラメトリック検定)

 読み込んだデータから対応のない2群間の差の検定を行ってみる。今回は、ノンパラメトリックな方法で、順位和検定を使う。

読み込んだデータは表の通りで、t検定の時と一緒。読み込み方はここ

データは、計画行列(デザイン行列)になっている。このデータは勝手に作ったデータで、2グループの握力を表しているものとする。groups列は2つのグループで、aとbのグループに分けられている。valuesは分析対象の値で、ここでは握力となっている。1行に1人分のデータがあることになり、各列から所属のグループと握力がわかることになる。

groupsvalues
a32.1
a29.5
a34.8
a31.6
a32.6
a34.1
a25.3
a31.4
a30.2
a30.8
a27.7
a32.2
a31.3
a30.0
a27.8
a32.9
a34.5
a34.2
a26.4
a32.7
b34.6
b34.9
b36.2
b34.3
b35.7
b35.8
b32.3
b32.8
b35.3
b33.8
b33.1
b33.3
b34.7
b35.0
b35.9
b33.5
b34.4
b35.2
b36.4
b35.1

順位和検定を実行するために以下のコードを実行する。
なお、このデータの名前はdata1という名前になっている。~の前にvalues~の後にgroupsを指定する。なお、data1の後に$をつけてからvalusesまたはgroupsを指定しているが、これはdata1の中にあるvaluesまたはgroupsという意味になる。
paired=は、対応があるかないかを指定する。FALSEにすると対応なしを指定できる。

wilcox.test(data1$values ~ data1$groups, paired = FALSE)
そうすると以下の結果が返ってくる。
	Wilcoxon rank sum exact test

data:  data1$values by data1$groups
W = 34, p-value = 9.249e-07
alternative hypothesis: true location shift is not equal to 0


p-valueがp値になる。9.249e-07は9.249*10のマイナス5乗ということで、すごく小さい値になっている。95%confidence intervalは差の信頼区間を表している。


なお、以下のようなデータの並びにして分析をする場合も記述しておく。
これは1列目にaグループの握力、2列目にbグループの握力を記述している。

group_agroup_b
32.134.6
29.534.9
34.836.2
31.634.3
32.635.7
34.135.8
25.332.3
31.432.8
30.235.3
30.833.8
27.733.1
32.233.3
31.334.7
30.035.0
27.835.9
32.933.5
34.534.4
34.235.2
26.436.4
32.735.1

このような場合のt検定のコードは以下の通り。~, にし、group_agroup_bを配置している。結果は同じになる。

wilcox.test(data1$group_a, data1$group_b, paired = FALSE)

コメント