このページは、市原清志先生の「バイオサイエンスの統計学」の問題を、統計ソフト”R”で解説するものです。 詳細については、市原先生のテキスト(p28)を参照ください。
n組のデータにつき各ペアの差 \(d\)
を求め、その平均値 \(\overline{d}\)
を統計量とする。
<帰無仮説> \(d\sim
N(0\:,\:\sigma_d^2)\)(各ペアに差がない) このとき、 \(\overline{d}\sim
N\left(0\:,\:\dfrac{\sigma_d^2}{n}\right)\) が成立。
差の母分散 \(\sigma_d^2\)
が既知の場合は、 \(z=\dfrac{d}{\sigma/\sqrt{n}} \sim
N(0,1)\): 標準正規分布に従うが、
母分散が未知のため、標本分散 \(s_d^2\)
で代用すると
\(~~~~~~~t=\dfrac{d}{s_d/\sqrt{n}} \sim t(n-1)\): 自由度 \((n-1)\) の t分布に従う。
6人のバセドウ病患者に薬を投与したとき、投与の前後で脈拍数に変化があるかどうか検定する。
pre<-c(98,88,100,96,107,114)
post<-c(86 ,73 ,95 ,92 ,99 ,116)
変化を見るにはRの個別推移図(スパゲティ・プロット)が分かりやすい。
preは前、postは後を表す。
# 個別推移図(スパゲティ・プロット)
library("lattice");library("latticeExtra")#パッケージの読み込み
(score <- c(pre, post))
(prepost <- factor(c(rep("pre", 6), rep("post", 6)), levels = c("pre","post")))
df <- data.frame(score, prepost);df
df$indiv <- factor(c(rep(1:6), rep(1:6)))#個体の識別番号
each <- xyplot(score ~ prepost, group = indiv, type = c("l"), data = df, xlab = "pre-post", ylab = "score");each
薬の投与後、血圧は下がっているように見える。この変化が有意なものかどうかRで調べる。
帰無仮説「preとpostで変化がない」のもとで、
\(~~~~~d=pre-post\) は、\(d\sim
N(0\:,\:\sigma_d^2)\):0を平均とした正規分布に従い、
標本標準偏差で標準化した \(~~~t=\dfrac{d}{s_d/\sqrt{6}} \sim t(5)\)
は、自由度5の t 分布に従う。
自由度 5の t 分布 とは、このような調査を無限回行った場合の
t値の分布であり、0を中心としている。
pre<-c(98,88,100,96,107,114);post<-c(86 ,73 ,95 ,92 ,99 ,116)
t.test(pre,post,paired=TRUE,alternative ="two.sided")
##
## Paired t-test
##
## data: pre and post
## t = 2.8265, df = 5, p-value = 0.03683
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## 0.6338082 13.3661918
## sample estimates:
## mean of the differences
## 7