2

我有 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)

使用我的函数,我得到 0.1586553 的 p 值。使用 binom.test 函数我得到 p 值 = 0.1982。

这怎么可能?我的代码是错误的,还是只是某种舍入错误?谢谢你。

4

1 回答 1

2

您的z.prop函数实现了相同的prop.test函数测试stats(没有耶茨连续性校正):

prTest <- prop.test(k, n, p=p0, alternative ="greater", correct = F)
prTest$p.value
# [1] 0.1586553

binom.test函数实现了不同的比例检验:精确二项式检验。

于 2018-03-17T11:55:59.890 回答