数学いらずの医科統計学PART6 CHAPTER31をRでやってみる。
対応のあるt検定については、ただひたすらRだけをやる特別講義でも扱っている。
Darwin (1876)は、自家受精させた種子からの植物成長と、他家受精させた種子からの植物成長を比較した。
# 他家受精 zeno <- c(23.5, 12, 21, 22, 19.125, 21.5, 22.125, 20.375, 18.25, 21.625, 23.25, 21, 22.125, 23, 12) # 自家受精 auto <- c(17.375, 20.375, 20, 20, 18.375, 18.625, 18.625, 15.25, 16.5, 18, 16.25, 18, 12.75, 15.5, 18) data <- rbind(zeno, auto) matplot(data, type="l", ylim=c(0, max(data)), axes=FALSE) axis(1,c(1,2),c("zeno", "auto")) axis(2, seq(0, 30, by=5))
対応した種子を線で結んでいるらしい。
対応した種子を選んで、それそれ別の介入をした、という実験のようだ。 ・・・(1)
t.test(zeno, auto, paired=TRUE) Paired t-test data: zeno and auto t = 2.148, df = 14, p-value = 0.0497 alternative hypothesis: true difference in means is not equal to 0 95 percent confidence interval: 0.003899165 5.229434169 sample estimates: mean of the differences 2.616667 #t.test(zeno - auto, paired=FALSE) # 差を入れてもいい
p値は0.05をほんのちょっと下回る。プロトコールの設定の仕方次第で棄却が変わりそう…。
(1)の話で、通常、マッチしたサンプルを用いた実験をデザインする場合、強い正の相関が認められる…らしい。
実際、このデータは相関してなさそう。
対応のあるt検定は、データの一貫性を得るための内部調整を利用することにある、らしい。このため、このデータでは、
(対応のあるt検定をしたp値)>(対応のないt検定をしたp値)
という、稀な状況になってしまっているらしい。
ならば、検定方法を変えるのはいいか?という話だが、p値はいくらでも操作できてしまうので、前のセミナーでもあったように、一番不都合なp値を採用する。
# 対応のあるt検定 t.test(zeno, auto, paired=TRUE) Paired t-test data: zeno and auto t = 2.148, df = 14, p-value = 0.0497 alternative hypothesis: true difference in means is not equal to 0 95 percent confidence interval: 0.003899165 5.229434169 sample estimates: mean of the differences 2.616667 # 対応のないt検定 t.test(zeno, auto, paired=FALSE) Welch Two Sample t-test data: zeno and auto t = 2.4371, df = 22.164, p-value = 0.02328 alternative hypothesis: true difference in means is not equal to 0 95 percent confidence interval: 0.3909566 4.8423767 sample estimates: mean of x mean of y 20.19167 17.57500
plot(zeno, auto) # 相関を出す library(agricolae) correl(zeno, auto) $stat [1] -1.280877 $rho [1] -0.3347553 $pvalue [1] 0.2226164