You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何R中CI()函数与qnorm计算95%置信区间结果不同?

问题原因解析

你遇到的差异核心是计算对象完全搞混了:

  • CI(mydata)计算的是样本均值的95%置信区间——这是用来估计总体均值的范围,逻辑是「样本均值 ± 临界值 × 均值的标准误」,其中均值的标准误是「样本标准差 ÷ 样本量的平方根」。
  • 你用qnorm(.975, mean=xbar, sd=s)算的是单个观测值的95%分布区间(也就是正态分布里95%的原始数据会落在的范围),因为你直接把样本标准差s当成了单观测值的分布标准差,没有除以样本量的平方根来转换为均值的标准误。

验证一下:

你的样本量n=500,样本标准差s=1.004922,先算均值的标准误:

se <- s / sqrt(500)
se

结果≈0.0449。

再用正确逻辑计算均值的置信区间:

upper <- xbar + qnorm(.975) * se
lower <- xbar - qnorm(.975) * se
c(upper, xbar, lower)

输出结果会和CI(mydata)给出的0.05069041 -0.03760740 -0.12590521几乎完全一致,微小误差来自浮点计算精度。

你之前用qnorm得到的1.932和-2.007,本质是单个原始数据点的95%分布边界,和均值的置信区间不是一个概念,这就是两者结果差异巨大的原因。

内容的提问来源于stack exchange,提问作者digger22

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 05:54:22