Description Usage Arguments Details Value Author(s) References See Also Examples
View source: R/sample.size.prop.R
The function sample.size.prop
returns the sample size needed for proportion estimation either with or without consideration of finite population correction.
1 | sample.size.prop(e, P = 0.5, N = Inf, level = 0.95)
|
e |
positive number specifying the precision which is half width of confidence interval |
P |
expected proportion of events with domain between values 0 and 1. Default is |
N |
positive integer for population size. Default is |
level |
coverage probability for confidence intervals. Default is |
For meaningful calculation, precision e
should be chosen smaller than 0.5, because the domain of P
is between values 0 and 1. Furthermore, precision e
should be smaller than proportion P
, respectively (1-P)
.
The function sample.size.prop
returns a value, which is a list consisting of the components
call |
is a list of call components |
n |
estimate of sample size |
Juliane Manitz
Kauermann, Goeran/Kuechenhoff, Helmut (2010): Stichproben. Methoden und praktische Umsetzung mit R. Springer.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | ## 1) examples with different precisions
# precision 1% for election forecast of SPD in 2005
sample.size.prop(e=0.01, P=0.5, N=Inf)
data(election)
sample.size.prop(e=0.01, P=mean(election$SPD_02), N=Inf)
# precision 5% for questionnaire
sample.size.prop(e=0.05, P=0.5, N=300)
sample.size.prop(e=0.05, P=0.5, N=Inf)
# precision 10%
sample.size.prop(e=0.1, P=0.5, N=300)
sample.size.prop(e=0.1, P=0.5, N=1000)
## 2) tables in the book
# table 2.2
P_vector <- c(0.2, 0.3, 0.4, 0.5)
N_vector <- c(10, 100, 1000, 10000)
results <- matrix(NA, ncol=4, nrow=4)
for (i in 1:length(P_vector)){
for (j in 1:length(N_vector)){
x <- try(sample.size.prop(e=0.1, P=P_vector[i], N=N_vector[j]))
if (class(x)=='try-error') {results[i,j] <- NA}
else {results[i,j] <- x$n}
}
}
dimnames(results) <- list(paste('P=',P_vector, sep=''), paste('N=',N_vector, sep=''))
results
# table 2.3
P_vector <- c(0.5, 0.1)
e_vector <- c(0.1, 0.05, 0.03, 0.02, 0.01)
results <- matrix(NA, ncol=2, nrow=5)
for (i in 1:length(e_vector)){
for (j in 1:length(P_vector)){
x <- try(sample.size.prop(e=e_vector[i], P=P_vector[j], N=Inf))
if (class(x)=='try-error') {results[i,j] <- NA}
else {results[i,j] <- x$n}
}
}
dimnames(results) <- list(paste('e=',e_vector, sep=''), paste('P=',P_vector, sep=''))
results
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.