Generar variables aleatorias con distribuciones Normal y Exponencial, calcular sus promedios en réplicas, y estimar el intervalo de confianza del 95% para la media poblacional.
Simulamos el tiempo de atención de 20 clientes con una distribución Normal(15, 5) y repetimos el experimento 30 veces.
set.seed(123) # reproducibilidad
replicas <- 30
n <- 20
media <- 15
desv <- 5
# Generamos los promedios de cada réplica
promedios_normal <- replicate(replicas, mean(rnorm(n, mean = media, sd = desv)))
promedios_normal
## [1] 15.70812 14.74371 15.53243 14.40041 16.87547 13.20310 14.80825 14.13332
## [9] 15.83445 14.33221 15.29742 14.80830 14.88379 16.04741 16.97471 14.80494
## [17] 15.25109 14.62870 15.14293 14.26677 13.94018 16.03292 14.81796 16.50615
## [25] 16.34905 13.62300 16.26086 15.50509 14.79653 13.75702
media_normal <- mean(promedios_normal)
desv_normal <- sd(promedios_normal)
error_normal <- qt(0.975, df = replicas - 1) * (desv_normal / sqrt(replicas))
IC_normal <- c(media_normal - error_normal, media_normal + error_normal)
IC_normal
## [1] 14.74789 15.46986
Simulamos tiempos entre llegadas con distribución Exponencial(media = 3.5), también con 30 réplicas.
set.seed(123)
media_exp <- 3.5
promedios_exp <- replicate(replicas, mean(rexp(n, rate = 1/media_exp)))
promedios_exp
## [1] 2.839104 3.896593 4.879441 2.624666 4.060273 2.369746 4.169379 2.690692
## [9] 4.075047 3.648220 3.358082 4.499886 3.142220 3.738707 3.308011 2.998177
## [17] 3.116586 3.079349 3.293862 3.726971 3.151720 3.750872 3.734679 4.560257
## [25] 3.408825 3.452517 3.497592 3.319186 3.182003 3.026739
media_expo <- mean(promedios_exp)
desv_expo <- sd(promedios_exp)
error_expo <- qt(0.975, df = replicas - 1) * (desv_expo / sqrt(replicas))
IC_expo <- c(media_expo - error_expo, media_expo + error_expo)
IC_expo
## [1] 3.267943 3.705350
library(knitr)
tabla_resultados <- data.frame(
Distribución = c("Normal", "Exponencial"),
Media_Muestral = c(media_normal, media_expo),
Desviación_Estándar = c(desv_normal, desv_expo),
IC_95_Lower = c(IC_normal[1], IC_expo[1]),
IC_95_Upper = c(IC_normal[2], IC_expo[2])
)
kable(tabla_resultados, caption = "Resultados de las simulaciones e intervalos de confianza")
| Distribución | Media_Muestral | Desviación_Estándar | IC_95_Lower | IC_95_Upper |
|---|---|---|---|---|
| Normal | 15.108877 | 0.9667275 | 14.747895 | 15.46986 |
| Exponencial | 3.486647 | 0.5856983 | 3.267943 | 3.70535 |