Muestreo estratificado proporcional

Author

Carlos Mario Cardozo - Ana María Castaño

1 Planteamiento

Se desea seleccionar una muestra de 400 individuos de una población de 2000, distribuida en tres estratos:

Estrato Población
E1 1000
E2 600
E3 400

2 Paso 1. Crear la población

library(dplyr)

Adjuntando el paquete: 'dplyr'
The following objects are masked from 'package:stats':

    filter, lag
The following objects are masked from 'package:base':

    intersect, setdiff, setequal, union
N <- 2000
n <- 400

datos <- data.frame(
  ID = 1:2000,
  Estrato = c(
    rep("E1",1000),
    rep("E2",600),
    rep("E3",400)
  )
)

head(datos)
  ID Estrato
1  1      E1
2  2      E1
3  3      E1
4  4      E1
5  5      E1
6  6      E1

3 Paso 2. Asignación proporcional

estratos <- data.frame(
  Estrato=c("E1","E2","E3"),
  Nh=c(1000,600,400)
)

estratos$nh <- estratos$Nh/N*n

knitr::kable(
  estratos,
  caption="Asignación proporcional por estratos"
)
Asignación proporcional por estratos
Estrato Nh nh
E1 1000 200
E2 600 120
E3 400 80

4 Paso 3. Selección aleatoria

set.seed(123)

muestra <- bind_rows(

datos %>%
filter(Estrato=="E1") %>%
sample_n(200),

datos %>%
filter(Estrato=="E2") %>%
sample_n(120),

datos %>%
filter(Estrato=="E3") %>%
sample_n(80)

)

5 Paso 4. Distribución de la muestra

muestra %>%
count(Estrato) %>%
knitr::kable(
caption="Número de participantes seleccionados por estrato"
)
Número de participantes seleccionados por estrato
Estrato n
E1 200
E2 120
E3 80

6 Paso 5. Muestra seleccionada

library(DT)
Warning: package 'DT' was built under R version 4.6.1
datatable(
muestra,
extensions="Buttons",
options=list(
pageLength=15,
scrollX=TRUE,
dom="Bfrtip",
buttons=c("copy","excel","csv")
),
rownames=FALSE,
caption="Participantes seleccionados mediante muestreo estratificado proporcional"
)