rm(list=ls()) n <- 100 m <- 100 k <- 1000 alpha <- 0.05 p1 <- 0.5 p2 <- 0.3 hmus1 <- numeric(k) hmus2 <- numeric(k) for (i in 1:k){ x <- rbinom(n,1,prob=p1) #生成x服从二项分布随机数 hmus1[i]<- mean(x) } for (i in 1:k){ y <- rbinom(m,1,prob=p2) #生成y服从二项分布随机数 hmus2[i]<- mean(y) } hmu1 <- mean(hmus1) hmu2 <- mean(hmus2) hmu1 hmu2 sx2 <- sum((hmus1-hmu1)^2) sy2 <- sum((hmus2-hmu2)^2) sw2 <- (sx2+sy2)/(n+m+2) hup <- hmus1-hmus2+qt(alpha/2, n+m-2, lower.tail = FALSE)*sqrt(1/n+1/m)*sqrt(sw2) hlo <- hmus1-hmus2-qt(alpha/2, n+m-2, lower.tail = FALSE)*sqrt(1/n+1/m)*sqrt(sw2) hprob <- mean((hlo<=p1-p2)&(p1-p2<=hup)) hprob估计置信水平,哪里出错了
时间: 2024-03-04 07:49:33 浏览: 109
Centos7-x86-64 openssh-9.8p1 rpm 包
在计算 hprob 值时出现了错误。hprob 的计算方法应该是:计算差值(hlo<=p1-p2)与(p1-p2<=hup)同时成立的概率,即两者的交集,而不是计算两者的平均值。正确的计算方法是:
```
hprob <- mean(hlo<=p1-p2 & p1-p2<=hup)
```
这样计算得出的 hprob 才是估计置信水平的正确结果。
阅读全文