lower.tail = FALSE
时间: 2023-08-20 19:43:09 浏览: 150
`lower.tail = FALSE` 是 `pnorm` 函数的一个参数,它的作用是指定累积分布函数的计算方式。当 `lower.tail = FALSE` 时,`pnorm` 函数计算的是右侧概率(即大于等于给定数值的概率),而当 `lower.tail = TRUE` 时,`pnorm` 函数计算的是左侧概率(即小于等于给定数值的概率)。在这段代码中,由于我们需要计算的是双侧p-value,因此需要使用 `lower.tail = FALSE` 来计算右侧概率并乘以2得到双侧概率。
相关问题
rm(list=ls()) n <- 100 m <- 100 k <- 1000 mu <- 0 hmus1 <- numeric(k) hmus2 <- numeric(k) sig1 <- 1 sig2 <- 2 alpha <- 0.05 for (i in 1:k){ x <- rnorm(n,mu,sig1) #生成x服从正态分布随机数 hmus1[i]<- mean(x) } for (i in 1:k){ y <- rnorm(m,mu,sig2) #生成y服从正态分布随机数 hmus2[i]<- mean(y) } hvar1 <- var(hmus1) hvar2 <- var(hmus2) q1<- qf(alpha/2,n-1,m-1,lower.tail = FALSE) q2<- qf(1-alpha/2,n-1,m-1,lower.tail = FALSE)R语言求两正态总体方差相等的拒绝域代码
根据F分布的定义,两个服从正态分布的总体方差相等的假设下,可以构造F统计量:
$$ F = \frac{S_1^2}{S_2^2} $$
其中,$S_1^2$和$S_2^2$分别是来自两个总体的样本方差。在假设成立的情况下,统计量F服从自由度为$(n-1)$和$(m-1)$的F分布。
根据这个统计量,我们可以构造拒绝域,如果$F \leqslant F_{\alpha/2}(n-1,m-1)$或$F \geqslant F_{1-\alpha/2}(n-1,m-1)$,则拒绝原假设。
在R语言中,求解拒绝域的代码如下:
```
q1 <- qf(alpha/2, n-1, m-1, lower.tail=FALSE)
q2 <- qf(1-alpha/2, n-1, m-1, lower.tail=FALSE)
```
其中,`qf()`函数是F分布的分位点函数,第一个参数是分位点的概率,第二个和第三个参数分别是分布的自由度,`lower.tail=FALSE`表示计算右侧分位点。
因此,在求得样本统计量$S_1^2$和$S_2^2$后,可以计算统计量F,并根据拒绝域判断是否拒绝原假设。
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(1-alpha/2, n+m-2, lower.tail = FALSE)*sqrt(1/n+1/m)*sqrt(sw2) hlo <- hmus1-hmus2-qt(1-alpha/2, n+m-2, lower.tail = FALSE)*sqrt(1/n+1/m)*sqrt(sw2) hprob <- mean((hlo<=p1-p2) & (p1-p2<=hup)) hprob报错
在计算 hup 和 hlo 值时,应该使用 qt 函数的第二个参数 df 为自由度,而不是 n+m-2。正确的计算方法是:
```
hup <- hmus1 - hmus2 + qt(1-alpha/2, df=n+m-2, lower.tail=FALSE)*sqrt(1/n+1/m)*sqrt(sw2)
hlo <- hmus1 - hmus2 - qt(1-alpha/2, df=n+m-2, lower.tail=FALSE)*sqrt(1/n+1/m)*sqrt(sw2)
```
此外,需要注意代码中变量名的大小写是否一致,比如 hprob 和 Hprob 不是同一个变量。如果变量名拼写或大小写不一致也会导致报错。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![unitypackage](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)