Доверительный интервал для биномиальных данных в R?

Я знаю, что мне нужно знать и 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 для этого?

Ответ 1

Вы также можете использовать prop.test из пакета stats или binom.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 

Вы можете найти интересную эту статью, где в таблице 1 на стр. 861 приведены разные доверительные интервалы для одной пропорции, рассчитанной с использованием семи методов (для выбранных комбинаций n и r). Используя prop.test, вы можете получить результаты, найденные в строках 3 и 4 таблицы, а binom.test возвращает то, что вы видите в строке 5.

Ответ 2

В этом случае у вас есть биномиальное распределение, поэтому вы будете рассчитывать доверительный интервал биномиальной доли.

В 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

Ответ 3

В качестве альтернативы используйте функцию 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

Ответ 4

Другой пакет: tolerance рассчитает диапазоны доверия/допуска для тонны типичных функций распределения.