我有一个100个是/否答案的随机样本。其中13个是“是”。其余的都是“不”。 我必须检验一下比例的假设。
假设: H0:p = p0
H1:p> P0
置信水平为95%
我有以下代码: (z.prop函数计算测试统计量。)
z.prop = function(k, n, p, p0){ zeta = (p - p0) / (sqrt( p0*(1-p0)/n ) )
return(zeta) }
k<- 13
n<- 100
p<- k/n
p0<- 0.1
z <- z.prop(k,n,p,p0)
cat("z: ",z)
z.alpha <- qnorm(0.05,lower.tail=FALSE)
cat("z alpha: ",z.alpha)
pval<- pnorm(abs(z),lower.tail = FALSE)
cat("p-value",pval,"\n")
如果我使用此代码,则p值不同。
binom.test(k, n, p = p0,alternative ="greater",conf.level = 0.95)
使用我的功能,我的p值为0.1586553。使用binom.test函数我得到了p值= 0.1982。
这怎么可能?我的代码是错误的,还是只是某种舍入错误? 谢谢。
答案 0 :(得分:2)
您的z.prop
函数对prop.test
中的stats
函数执行了相同的测试(没有Yates连续性校正):
prTest <- prop.test(k, n, p=p0, alternative ="greater", correct = F)
prTest$p.value
# [1] 0.1586553
binom.test
函数对比例实施不同的测试:精确的二项式测试。