Librerias

library(ggplot2)

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union

Poblacion

# Definir los datos de los estratos manualmente

stratum <- c("A", "B", "C")

Nh <- c(3000, 4000, 5000)  # Tamaños de población por estrato

Sh <- c(48, 79, 76)        # Desviaciones estándar por estrato
 
# Combinar en un data frame para mejor manejo

strata_data <- data.frame(stratum, Nh, Sh)

strata_data
##   stratum   Nh Sh
## 1       A 3000 48
## 2       B 4000 79
## 3       C 5000 76
strata_data <-  strata_data %>% 
  mutate(peso = Nh/sum(Nh)) %>% 
  mutate(nh = round(400*peso,0)) %>%
  mutate(peso_optimo = Nh*Sh) %>%
  mutate(nh_optimo = round(400*peso_optimo/sum(peso_optimo),0))

strata_data
##   stratum   Nh Sh      peso  nh peso_optimo nh_optimo
## 1       A 3000 48 0.2500000 100      144000        69
## 2       B 4000 79 0.3333333 133      316000       150
## 3       C 5000 76 0.4166667 167      380000       181
set.seed(123)
# Parámetros poblacionales
N_A <- 3000; mu_A <- 50; sigma_A <- 10; poblacion_A <- rnorm(N_A, mean = mu_A, sd = sigma_A)
N_B <- 4000; mu_B <- 65; sigma_B <- 25; poblacion_B <- rnorm(N_B, mean = mu_B, sd = sigma_B)
N_C <- 5000; mu_C <- 80; sigma_C <- 50; poblacion_C <- rnorm(N_C, mean = mu_C, sd = sigma_C)
 
N_total <- sum(N_A, N_B, N_C)
set.seed(456)
sample_A <- sample(poblacion_A, size = 100, replace = FALSE)

sample_B <- sample(poblacion_B, size = 133, replace = FALSE)

sample_C <- sample(poblacion_C, size = 167, replace = FALSE)


mean(sample_A)
## [1] 50.8156
mean(sample_B)
## [1] 64.764
mean(sample_C)
## [1] 80.00295