【发布时间】:2020-05-03 20:27:28
【问题描述】:
我在计算置信区间时遇到了一个有趣的现象。我将尝试通过生成一组正态分布的数字来复制问题。
我使用了两种方法来计算置信区间,但是,每种方法都产生了不同的结果。
## Generating a normal distribution
set.seed(1)
p <- data.frame(x = rnorm(1000))
## Method no. 1 for calculating CI.
p %>%
summarize(
lower = 0 - 2 * sd(x),
upper = 0 + 2 * sd(x)
)
## Method no. 2 for calc. CI.
p %>%
summarize(
lower = quantile(x, p = 0.025),
upper = quantile(x, p = 0.975)
)
第一种方法给出 95% CI ,第二种方法给出
结果不同的任何想法。我希望看到同样的结果。
【问题讨论】:
-
您为什么希望看到相同的结果? CI 和样本分位数之间会有一些小的差异。我想您可以将 [-1.96, 1.96] 与 0 ±
sd(x)与mean(x)±sd(x)与quantile(x, p = c(0.025, 0.975))进行比较。这些会有所不同,但随着 n 变得任意大,差异接近 0 -
当你有有限的 n 时,这些将不完全相等。尤其是“仅” 1000。在我的机器上使用 n = 1 亿执行此操作最终使差异小于 0.001
标签: r statistics confidence-interval