一標本 t 検定

このページは、市原清志先生の「バイオサイエンスの統計学」の問題を、統計ソフト”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分布に従う。


例2-1(市原p28)

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