R中二项式数据的置信区间?

时间:2014-02-12 05:39:14

标签: r statistics probability confidence-interval

我知道我需要使用mean和s.d来找到间隔,但是,如果问题是:

A survey of 1000 randomly chosen workers, 520 of them are female. Create a 95% confidence interval for the proportion of wokrers who are female based on survey.

我如何找到平均值和s.d?

4 个答案:

答案 0 :(得分:19)

您还可以使用包prop.test中的statsbinom.test

prop.test(x, n, conf.level=0.95, correct = FALSE)

        1-sample proportions test without continuity correction

data:  x out of n, null probability 0.5
X-squared = 1.6, df = 1, p-value = 0.2059
alternative hypothesis: true p is not equal to 0.5
95 percent confidence interval:
 0.4890177 0.5508292
sample estimates:
   p 
0.52 

您可能会发现有趣的this article,其中第861页的表1给出了不同的置信区间,对于单个比例,使用七种方法计算(对于n和r的选定组合)。使用prop.test,您可以获得表格第3行和第4行中的结果,而binom.test会返回您在第5行中看到的结果。

答案 1 :(得分:14)

在这种情况下,您有二项分布,因此您将计算binomial proportion confidence interval

在R中,您可以使用包binconf()

中的Hmisc
> binconf(x=520, n=1000)
 PointEst     Lower     Upper
     0.52 0.4890177 0.5508292

或者您可以自己计算:

> p <- 520/1000
> p + c(-qnorm(0.975),qnorm(0.975))*sqrt((1/1000)*p*(1-p))
[1] 0.4890345 0.5509655

答案 2 :(得分:10)

或者,使用propCI包中的函数prevalence来获取五个最常用的二项式置信区间:

> library(prevalence)
> propCI(x = 520, n = 1000)
    x    n    p        method level     lower     upper
1 520 1000 0.52 agresti.coull  0.95 0.4890176 0.5508293
2 520 1000 0.52         exact  0.95 0.4885149 0.5513671
3 520 1000 0.52      jeffreys  0.95 0.4890147 0.5508698
4 520 1000 0.52          wald  0.95 0.4890351 0.5509649
5 520 1000 0.52        wilson  0.95 0.4890177 0.5508292

答案 3 :(得分:2)

另一个包:tolerance将计算大量典型分布函数的置信/容差范围。