実験群とコントロール群、リスク因子あり群となし群、介入群と非介入群、など二群比較 を 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, distribution="exact") Exact Wilcoxon-Mann-Whitney Test data: bwt by factor(smoke) (0, 1) Z = 2.7094, p-value = 0.006549 alternative hypothesis: true mu is not equal to 0
まとめ
連続量の二群比較の基本として、
- 平均値
- 標準偏差
- 中央値
- Welchの検定
- Wilcoxonの順位和検定
の方法を解説した。
参考になれば。
参考書籍
中澤港著 Rによる保健医療データ解析演習 ピアソン・エデュケーション
11.1.2 ウィルコクソンの順位和検定 pp.162-167
コメント