統計ER

統計ソフトRの使い方を中心に、統計解析方法の解説をするブログ。ありそうでなかなか見つからないサンプルサイズ計算などニッチな方法について紹介しています。

統計ソフトRで二群比較はどうやる?―要約値から検定まで

Toukei Consul Banner

KH Coder Consul Banner

実験群とコントロール群、 リスク因子あり群となし群、 介入群と非介入群、 など二群比較は研究的状況の基本。

統計ソフトRで二群比較するときの基本を紹介。

群ごとに平均値、標準偏差、中央値を求める

平均値を計算するなら tapply(var1, grp, mean)。

grpのグループごとに、var1の平均値を計算する。

標準偏差を計算するなら、meanをsdに変える。

tapply(var1, grp, sd)

中央値はmedianと指定する。

tapply(var1, grp, median)

例:

with(sleep, tapply(extra, group, mean))

with(sleep, tapply(extra, group, sd))

with(sleep, tapply(extra, group, median))
> with(sleep, tapply(extra, group, mean))
   1    2 
0.75 2.33 
> 
> with(sleep, tapply(extra, group, sd))
       1        2 
1.789010 2.002249 
> 
> with(sleep, tapply(extra, group, median))
   1    2 
0.35 1.75 

平均値の差の検定 Welchの方法

t.test()を使う。

統計ソフトRでは、平均値の差の検定は、Welchの方法がデフォルト。

Welchの方法は、二群が等分散かどうかを問題にしない。

いつでもWelchを使っておけばよい。

例:

library(MASS)
with(birthwt, t.test(bwt~smoke))
> with(birthwt, t.test(bwt~smoke))

        Welch Two Sample t-test

data:  bwt by smoke
t = 2.7299, df = 170.1, p-value = 0.007003
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
  78.57486 488.97860
sample estimates:
mean in group 0 mean in group 1 
       3055.696        2771.919 

Wilcoxon(ウィルコクソン)の順位和検定 Exact Test

coinパッケージの wilcox_test()を使う。

Wilcoxon(ウィルコクソン)の順位和検定は、Mann-Whitney(マン・ホイットニー)のU検定という名前でも知られるノンパラメトリック検定。

正規分布していないデータで二群の比較したい場合に使う。

等分散を気にしなくていいように、正確確率検定 Exact Testを行う。

最初に一回だけパッケージをインストールする。

例:

install.packages("coin")

library(coin)

wilcox_test(bwt ~ factor(smoke), data=birthwt)
> wilcox_test(bwt ~ factor(smoke), data=birthwt)

        Asymptotic Wilcoxon-Mann-Whitney Test

data:  bwt by factor(smoke) (0, 1)
Z = 2.7094, p-value = 0.00674
alternative hypothesis: true mu is not equal to 0

まとめ

連続量の二群比較の基本として、

  • 平均値

  • 標準偏差

  • 中央値

  • Welchの検定

  • Wilcoxonの順位和検定

を紹介した。

参考書籍

中澤港著 Rによる保健医療データ解析演習 ピアソン・エデュケーション 11.1.2 ウィルコクソンの順位和検定 pp.162-167