Planteamiento
Se desea seleccionar una muestra de 400 individuos de una población de 2000, distribuida en tres estratos:
Paso 1. Crear la población
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
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
| E1 |
1000 |
200 |
| E2 |
600 |
120 |
| E3 |
400 |
80 |
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)
)
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
| E1 |
200 |
| E2 |
120 |
| E3 |
80 |
Paso 5. Muestra seleccionada
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"
)