対応のある t 検定は、前後比較をするデザインの時に用いる。
対応のある t 検定のサンプルサイズ、サンプル数はどのくらいであればよいか?
- 対応のある t 検定のサンプルサイズ計算に必要な数値
- 対応のある t 検定のサンプルサイズの目安
- 対応のある t 検定のサンプルサイズ計算を R で行う
- 対応のある t 検定のサンプルサイズ計算に power.t.test() を使わない方法
- 対応のある t 検定のサンプルサイズ計算をエクセルで行う
- まとめ
- 参考書籍
対応のある t 検定のサンプルサイズ計算に必要な数値
サンプルサイズ計算に必要なのは、
- 検出力
- 標準化された前後差
の2つだ。
標準化された前後差は、差の標準偏差が必要で、差の標準偏差を表示している先行研究は少ない。
決め打ちで、ある程度決めてしまうしかない。
下記の二群のt検定でも紹介した目安を用いると、中くらいの差を検出するには、標準化された差を0.4から0.5くらいに設定すればよい。
対応のある t 検定のサンプルサイズの目安
計算は以下で確認するとして、目安を以下にまとめた。
効果量とは、ここでは標準化された前後差を指している。
効果量 | サンプルサイズ |
---|---|
小さな差 0.2 | 199 |
中くらいな差 0.5 | 34 |
大きな差 0.9 | 12 |
対応のある t 検定のサンプルサイズ計算を R で行う
Rで計算する場合、power.t.test()を使えばよい。
検出力を80%として、標準化された差を0.5として、サンプルサイズ計算をする。
type=”paired”が対応のある検定であることを指定している。
power.t.test(power=0.8, delta=0.5, type="paired")
結果は、34例必要と計算された。
> power.t.test(power=0.8, delta=0.5, type="paired") Paired t test power calculation n = 33.3672 delta = 0.5 sd = 1 sig.level = 0.05 power = 0.8 alternative = two.sided NOTE: n is number of *pairs*, sd is std.dev. of *differences* within pairs
大きな差が見込まれるのであれば、delta=0.9を使って計算する。
power.t.test(power=0.8, delta=0.9, type="paired")
結果は、12例で済む。
驚くほど少ない症例で試験ができてしまう。
> power.t.test(power=0.8, delta=0.9, type="paired") Paired t test power calculation n = 11.75386 delta = 0.9 sd = 1 sig.level = 0.05 power = 0.8 alternative = two.sided NOTE: n is number of *pairs*, sd is std.dev. of *differences* within pairs
希少疾患の試験を計画する場合は、症例数が少なくて済むのは助かる。
画期的な治療法であることが条件だ。
対応のある t 検定のサンプルサイズ計算に power.t.test() を使わない方法
対応のある t 検定のサンプルサイズ計算のために power.t.test() を使わずに、スクリプトを書いてみると以下のようになる。
paired.t.test.samplesize <- function(sig.level=0.05, power=0.8, delta, sd=1, alternative=c("two.sided","one.sided")) { alternative <- match.arg(alternative) tside <- switch(alternative, one.sided=1, two.sided=2) Za <- qnorm(sig.level/tside, lower.tail=FALSE) Zb <- qnorm(power) n <- 2*((Za+Zb)/(delta/sd*sqrt(2)))^2 NOTE <- "n is number of *pairs*, sd is std.dev. of *differences* within pairs" METHOD <- "Paired t-test sample size" structure(list(n=n,delta=delta, sd=sd, sig.level=sig.level, power=power, alternative=alternative, note=NOTE, method=METHOD), class="power.htest") }
delta=0.5の中程度の差の場合は、32例と計算される。power.t.test()の結果に比べると、2例少ない。
> paired.t.test.samplesize(delta=0.5) Paired t-test sample size n = 31.39552 delta = 0.5 sd = 1 sig.level = 0.05 power = 0.8 alternative = two.sided NOTE: n is number of *pairs*, sd is std.dev. of *differences* within pairs
delta=0.9の大きな差の場合は、10例必要と計算される。power.t.test()の結果より2例少ない。
> paired.t.test.samplesize(delta=0.9) Paired t-test sample size n = 9.689975 delta = 0.9 sd = 1 sig.level = 0.05 power = 0.8 alternative = two.sided NOTE: n is number of *pairs*, sd is std.dev. of *differences* within pairs
対応のある t 検定のサンプルサイズ計算をエクセルで行う
上記の方法でサンプルサイズ計算をエクセルのスプレッドシートでできるようにした。
正確な計算より2例程度少なく計算されることは忘れずに。
よければどうぞ。
対応のあるt検定 サンプルサイズ計算【エクセルでサンプルサイズ】 | TKER SHOP
使い方を動画で解説した。
よければどうぞ。
まとめ
対応のある t 検定のサンプルサイズ計算を統計ソフトRでやってみた。
R では、power.t.test() を使えば簡単に計算できる。
R の power.t.test() を使わない方法もスクリプトを書いてみた。
簡易的な方法を使ってエクセルのスプレッドシートでサンプルサイズ計算できるようにした。
コメント