#---------------------------------------------------- #永田(2003)第3章 1つの母平均の検定―母分散が既知の場合 #---------------------------------------------------- ################################## #power.t.onesample 検定力(1-b)の計算 #(1) H1=u1 =/ u0 ################################## power.t.onesample <- function(n,delta, sig.level){ pnorm(-(-qnorm(sig.level/2,lower.tail=F)-sqrt(n)*delta), lower.tail=F)+ pnorm(qnorm(sig.level/2,lower.tail=F)-sqrt(n)*delta, lower.tail=F) } power.t.onesample(n=9, sig.level=.05, delta=.6) ################################## #power.t.onesample2 検定力(1-b)の計算 #(2) H1=u1 > u0 ################################## power.t.onesample2<- function(n,delta, sig.level){ pnorm(qnorm(sig.level,lower.tail=F)-sqrt(n)*delta, lower.tail=F) } power.t.onesample2(n=9, sig.level=.05, delta=.6) ################################## #power.t.onesample3 検定力(1-b)の計算 #(3) H1=u1 < u0 ################################## power.t.onesample3 <- function(n,delta, sig.level){ pnorm(-(-qnorm(sig.level,lower.tail=F)-sqrt(n)*delta), lower.tail=F) } power.t.onesample3(n=9, sig.level=.05, delta=-.6) ################################## #samplesize.t.onesample1 標本サイズ #(1) H1=u1 =/ u0 ################################## samplesize.t.onesample1 <- function(power,delta, sig.level){ ((qnorm(sig.level/2,lower.tail=F)-qnorm(power,lower.tail=F))/ delta)^2 } samplesize.t.onesample1(power=.9, sig.level=.05, delta=1) ################################## #samplesize.t.onesample2 標本サイズ #(2) H1=u1 > u0 ################################## samplesize.t.onesample2 <- function(power,delta, sig.level){ ((qnorm(sig.level,lower.tail=F)-qnorm(power,lower.tail=F))/ delta)^2 } samplesize.t.onesample2(power=.95, sig.level=.05, delta=.5) power.t.onesample2(n=43, sig.level=.05, delta=.5) power.t.onesample2(n=44, sig.level=.05, delta=.5) ################################## #samplesize.t.onesample3 標本サイズ #(3) H1=u1 < u0 ###注意(2)と定義は同一である ################################## samplesize.t.onesample3 <- function(power,delta, sig.level){ ((qnorm(sig.level,lower.tail=F)-qnorm(power,lower.tail=F))/ delta)^2 } samplesize.t.onesample3(power=.95, sig.level=.05, delta=.5) ###ex.3.3 pnorm(-(-1.96-(sqrt(9)*.6)),lower.tail=F)+pnorm(1.96-(sqrt(9)*.6),lower.tail=F) ###ex.3.4 power.t.onesample(n=16, sig.level=.05, delta=.1) delta <- seq(-1,1,by=.02) delta2 <- c(seq(-1,-.2,by=.2),seq(-.1,.1,by=.05),seq(.2,1,by=.2)) plot(delta,power.t.onesample(n=9, sig.level=.05, delta=delta),ylim=c(0,1), ylab="Power",type="l",col="red") lines(delta,power.t.onesample(n=16, sig.level=.05, delta=delta),col="blue") lines(delta,power.t.onesample(n=25, sig.level=.05, delta=delta),col="gray") ###ex 3.5 pnorm(1.645-sqrt(9)*.6,lower.tail=F) ###ex 3.6 delta <- seq(-1,1,by=.02) delta2 <- c(seq(-1,-.2,by=.2),seq(-.1,.1,by=.05),seq(.2,1,by=.2)) plot(delta,power.t.onesample2(n=9, sig.level=.05, delta=delta),ylim=c(0,1), ylab="Power",type="l",col="red") lines(delta,power.t.onesample2(n=16, sig.level=.05, delta=delta),col="blue") lines(delta,power.t.onesample2(n=25, sig.level=.05, delta=delta),col="gray") ###ex 3.7 pnorm(-(-qnorm(.05,lower.tail=F)-sqrt(9)*(-.6)),lower.tail=F) ###ex 3.8 delta <- seq(-1,1,by=.02) delta2 <- c(seq(-1,-.2,by=.2),seq(-.1,.1,by=.05),seq(.2,1,by=.2)) power.t.onesample3 <- function(n,delta, sig.level){ pnorm(-(-qnorm(sig.level,lower.tail=F)-sqrt(n)*delta), lower.tail=F) } plot(delta,power.t.onesample3(n=9, sig.level=.05, delta=delta),ylim=c(0,1), ylab="Power",type="l",col="red") lines(delta,power.t.onesample3(n=16, sig.level=.05, delta=delta),col="blue") lines(delta,power.t.onesample3(n=25, sig.level=.05, delta=delta),col="gray")