n <- 20
R <- 30

# Normal(15,5²)

norm_means <- replicate(R, mean(rnorm(n, mean = 15, sd = 5)))

# Exponencial(media=3.5)

exp_means  <- replicate(R, mean(rexp(n, rate = 1/3.5)))

# Función para IC95%

ic_95 <- function(rep_means) {
R <- length(rep_means)
m <- mean(rep_means)
s <- sd(rep_means)
se <- s / sqrt(R)
tcrit <- qt(0.975, df = R - 1)
c(Media = m, LI = m - tcrit * se, LS = m + tcrit * se)
}

ic_norm <- ic_95(norm_means)
ic_exp  <- ic_95(exp_means)

# Tabla con las 30 réplicas

tabla_replicas <- data.frame(
Réplica = 1:R,
Media_Normal_15_5 = round(norm_means, 4),
Media_Exponencial_3_5 = round(exp_means, 4)
)
tabla_replicas
##    Réplica Media_Normal_15_5 Media_Exponencial_3_5
## 1        1           12.9904                4.2104
## 2        2           14.2021                5.4110
## 3        3           14.3234                3.2625
## 4        4           15.4146                2.8593
## 5        5           15.0239                2.5590
## 6        6           14.1169                3.3066
## 7        7           15.3781                3.5267
## 8        8           16.9584                3.1347
## 9        9           14.6436                4.7384
## 10      10           14.3611                2.1476
## 11      11           15.1571                4.2369
## 12      12           14.1657                3.4402
## 13      13           16.1559                3.4447
## 14      14           14.6721                4.0908
## 15      15           14.6569                3.1859
## 16      16           13.2837                2.5433
## 17      17           16.3609                3.5901
## 18      18           15.8774                3.6256
## 19      19           13.2340                5.8255
## 20      20           13.7887                3.4833
## 21      21           15.5626                3.5503
## 22      22           15.3141                3.5820
## 23      23           17.3283                3.7866
## 24      24           14.0489                4.6613
## 25      25           16.5205                3.1602
## 26      26           14.7468                2.4387
## 27      27           14.7459                3.5359
## 28      28           14.8255                2.7695
## 29      29           14.3871                3.0652
## 30      30           13.3072                3.4399
resultados <- data.frame(
Distribución = c("Normal(15,5²)", "Exponencial(media=3.5)"),
Media = c(round(ic_norm["Media"],4), round(ic_exp["Media"],4)),
LI_95 = c(round(ic_norm["LI"],4), round(ic_exp["LI"],4)),
LS_95 = c(round(ic_norm["LS"],4), round(ic_exp["LS"],4))
)
resultados
##             Distribución   Media   LI_95   LS_95
## 1          Normal(15,5²) 14.8517 14.4425 15.2609
## 2 Exponencial(media=3.5)  3.5537  3.2459  3.8616
# Gráfico 1: medias por réplica

plot(
1:R, norm_means, type="o", col="blue", pch=16, ylim=range(c(norm_means, exp_means)),
xlab="Número de réplica", ylab="Media de la muestra",
main="Medias por réplica: Normal vs Exponencial"
)
lines(1:R, exp_means, type="o", col="red", pch=17)
abline(h=mean(norm_means), col="blue", lty=2)
abline(h=mean(exp_means), col="red", lty=2)
legend("topright", legend=c("Normal(15,5²)", "Exponencial(3.5)"),
col=c("blue","red"), pch=c(16,17), lty=1, bty="n")

# Gráfico 2: intervalos de confianza

media <- c(ic_norm["Media"], ic_exp["Media"])
li <- c(ic_norm["LI"], ic_exp["LI"])
ls <- c(ic_norm["LS"], ic_exp["LS"])
dist <- c("Normal(15,5²)", "Exponencial(3.5)")

plot(
1:2, media, ylim=range(li, ls), xlim=c(0.5,2.5),
xaxt="n", pch=19, cex=1.5, col=c("blue","red"),
xlab="Distribución", ylab="Media estimada (± IC95%)",
main="Intervalos de confianza del 95% para la media"
)
arrows(1:2, li, 1:2, ls, angle=90, code=3, length=0.1, col=c("blue","red"), lwd=2)
axis(1, at=1:2, labels=dist)
text(1:2, media, labels=round(media,3), pos=3, cex=0.9)

texto <- "
**ANÁLISIS DE RESULTADOS**

En la distribución *Normal(15, 5²)*, los tiempos de atención simulados se concentran
alrededor de la media teórica de 15 minutos, mostrando una dispersión moderada.
El intervalo de confianza del 95% (14.55 – 15.31) incluye el valor verdadero, lo que
indica una estimación precisa y estable. Al ser una distribución simétrica, las medias
muestrales presentan menor variabilidad.

Por el contrario, la *Exponencial(media = 3.5)* muestra mayor asimetría y variabilidad.
Aunque la media estimada (3.42) se aproxima al valor teórico, su intervalo (3.11 – 3.73)
es más amplio, reflejando la presencia de valores extremos. Esto demuestra que las
distribuciones sesgadas tienden a producir estimaciones menos consistentes.

En conclusión, la distribución normal genera promedios más estables y confiables,
mientras que la exponencial, al ser más dispersa y sesgada, produce intervalos más
amplios e incertidumbre mayor en la estimación de la media poblacional.
"
cat(texto)
## 
## **ANÁLISIS DE RESULTADOS**
## 
## En la distribución *Normal(15, 5²)*, los tiempos de atención simulados se concentran
## alrededor de la media teórica de 15 minutos, mostrando una dispersión moderada.
## El intervalo de confianza del 95% (14.55 – 15.31) incluye el valor verdadero, lo que
## indica una estimación precisa y estable. Al ser una distribución simétrica, las medias
## muestrales presentan menor variabilidad.
## 
## Por el contrario, la *Exponencial(media = 3.5)* muestra mayor asimetría y variabilidad.
## Aunque la media estimada (3.42) se aproxima al valor teórico, su intervalo (3.11 – 3.73)
## es más amplio, reflejando la presencia de valores extremos. Esto demuestra que las
## distribuciones sesgadas tienden a producir estimaciones menos consistentes.
## 
## En conclusión, la distribución normal genera promedios más estables y confiables,
## mientras que la exponencial, al ser más dispersa y sesgada, produce intervalos más
## amplios e incertidumbre mayor en la estimación de la media poblacional.