The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
library(samplingR)
#> _ _ ______
#> | (_) | ___ \
#> ___ __ _ _ __ ___ _ __ | |_ _ __ __ _| |_/ /
#> / __|/ _` | '_ ` _ \| '_ \| | | '_ \ / _` | /
#> \__ \ (_| | | | | | | |_) | | | | | | (_| | |\ \
#> |___/\__,_|_| |_| |_| .__/|_|_|_| |_|\__, \_| \_|
#> | | __/ |
#> |_| |___/ version 1.0.1
#> Type 'citation("samplingR")' for citing this R package in publications.
La población está compuesta por 2 estratos generados sintéticamente a partir de dos distribuciones normales.
<-585479
N1<-rnorm(N1, 750, 100) pen
<-932992
N2<-rnorm(N2, 1500, 500) ass
<-cbind(c(pen, ass), c(rep("pensionista", N1), rep("asalariado", N2)))
datos<-N1+N2 N
<-c(N1, N2)
Nh<-800
nstrata.allocation(Nh=Nh, n=n, alloc="unif")
#> [1] 400 400
<-12000
C<-5000
Cini<-c(45, 20)
ch<-strata.samplesize.cost(Nh=Nh, C=C, cini=Cini, ch=ch, alloc="unif")
sizepaste("Tamaño de muestra", size)
#> [1] "Tamaño de muestra 215.384615384615"
<-strata.allocation(Nh=Nh, n=size, alloc="unif")
nh.unif
paste(c("Estrato 1:", "Estrato 2"), nh.unif)
#> [1] "Estrato 1: 107.692307692308" "Estrato 2 107.692307692308"
paste("Coste:", Cini+sum(ch*nh.unif))
#> [1] "Coste: 12000"
Como los tamaños de muestra deben ser enteros redondeamos al entero inferior.
<-floor(nh.unif)
nh.unifpaste(c("Estrato 1:", "Estrato 2"), nh.unif)
#> [1] "Estrato 1: 107" "Estrato 2 107"
paste("Coste:", Cini+sum(ch*nh.unif))
#> [1] "Coste: 11955"
strata.allocation(Nh=Nh, n=n, alloc="prop")
#> [1] 308.4571 491.5429
<-strata.samplesize.cost(Nh=Nh, C=C, cini=Cini, ch=ch, alloc="prop")
sizepaste("Tamaño de muestra", size)
#> [1] "Tamaño de muestra 236.173037187271"
<-floor(strata.allocation(Nh=Nh, n=size, alloc="prop"))
nh.unifpaste(c("Estrato 1:", "Estrato 2"), nh.unif)
#> [1] "Estrato 1: 91" "Estrato 2 145"
paste("Coste:", Cini+sum(ch*nh.unif))
#> [1] "Coste: 11995"
La afijación de Neyman depende de las cuasivarianzas de los estratos, por lo que se deben estimar.
Opción 1: usar las varianzas reales como estimadores (solución teórica)
<-c(var(pen), var(ass))
vartstrata.allocation(Nh=Nh, n=n, var=vart, alloc="min")
#> [1] 89.16338 710.83662
Opción 2: tomar una muestra previa para estimar las cuasivarianzas de los estratos.
<-strata.sample(data=datos, n=c(20, 20))
sample<-c(var(sample[which(sample[,2]=="asalariado"),1]), var(sample[which(sample[,2]=="pensionista"),1]))
varstrata.allocation(Nh=Nh, n=n, var=var, alloc="min")
#> [1] 611.3217 188.6783
Opción 3: estimación más conservadora. Suponemos cuasivarianza máxima en todos los estratos = \(\frac{N_h}{N_h-1}p(1-p)\) con p=0.5
<-c(Nh/(Nh-1)*0.5*(1-0.5))
varstrata.allocation(Nh=Nh, n=n, var=var, alloc="min")
#> [1] 308.4572 491.5428
Si no se fija la varianza en la función se mostrará un warning y la varianza declarada en la función será la máxima para cada estrato.
strata.allocation(Nh=Nh, n=n, alloc="min")
#> Warning in strata.allocation(Nh = Nh, n = n, alloc = "min"):
#> Necessary var argument missing, will be set to worst case scenario value for each strata.
#> [1] 308.4572 491.5428
La estimación conservadora coincide con el cálculo de afijación proporcional.
En la afijación de mínima varianza optimizando con una función de costes es equivalente a utilizar la afijación óptima.
<-strata.samplesize.cost(Nh=Nh, var=vart, C=C, cini=Cini, ch=ch, alloc="optim")
sizepaste("Tamaño de muestra", size)
#> [1] "Tamaño de muestra 319.208443216545"
<-floor(strata.allocation(Nh=Nh, n=size, var=vart, alloc="optim", C=C, cini=Cini, ch=ch))
nh.optimpaste(c("Estrato 1:", "Estrato 2"), nh.optim)
#> [1] "Estrato 1: 24" "Estrato 2 294"
paste("Coste:", Cini+sum(ch*nh.optim))
#> [1] "Coste: 11960"
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.