統計ER

R, EZR, SPSS, KH Coder を使ったデータ分析方法を紹介するブログ。ニッチな内容が多め

連続データの 2 群比較を R で行う方法

実験群とコントロール群、リスク因子あり群となし群、介入群と非介入群、など二群比較 を R で実行する方法。

>>もう統計で悩むのを終わりにしませんか?


↑1万人以上の医療従事者が購読中

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

平均値を計算するなら 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 

>>もう統計で悩むのを終わりにしませんか?


↑1万人以上の医療従事者が購読中

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