正态分布假设检验中t.test结果的if判断参数选择问题
解决思路与代码修正
你要估计的是第二类错误的概率:当真实均值为1.1(H0为假)时,检验却不拒绝H0的概率。对于你的单侧t检验(H1: μ>0.3,置信水平0.96,对应显著性水平α=0.04),判断是否不拒绝H0可以通过t.test返回结果的两个参数实现:
判断条件的两种方式
方式1:使用p值
单侧检验中,当p值≥α(这里α=0.04)时,我们不拒绝原假设H0。t.test结果里的x$p.value就是计算得到的p值,所以判断条件为x$p.value >= 0.04。方式2:使用t统计量
自由度为n-1=26时,单侧检验的临界值是qt(0.96, df=26)(对应累积概率0.96的t分布分位数)。当计算得到的t统计量x$statistic小于等于该临界值时,不拒绝H0,判断条件为x$statistic <= qt(0.96, df=26)。
修正后的完整代码
set.seed(1343) m <- 0 accept <- 0 valores <- numeric(0) while (m != 150){ amostra <- rnorm(27, mean = 1.1, 2.8) x <- t.test(amostra, mu = 0.3, alternative = "greater", conf.level = 0.96) # 选择以下任意一种判断条件即可 # 方式1:用p值判断 if (x$p.value >= 0.04){ accept <- accept + 1 } # 方式2:用t统计量判断(先计算临界值) # critical_t <- qt(0.96, df = 26) # if (x$statistic <= critical_t){ # accept <- accept + 1 # } m <- m + 1 } prob <- accept/m prob
补充说明
- 两种判断方式的结果完全一致,选其中一种即可。
- 你这里的
accept变量统计的是不拒绝H0的次数,最终prob就是你要估计的第二类错误概率。
内容的提问来源于stack exchange,提问作者user20357700
相关产品推荐
相关产品推荐

