En esta actividad se simulan dos tipos de distribuciones (Normal y Exponencial) para estimar la media poblacional y calcular el intervalo de confianza del 95%.
set.seed(2111)
n <- 20
replicas <- 30
promedios_normal <- replicate(replicas, mean(rnorm(n, mean = 15, sd = 5)))
promedios_normal
## [1] 14.28375 15.33029 14.75842 15.10630 13.10020 14.56265 13.60131 15.34685
## [9] 16.76713 17.12154 15.44985 14.94842 14.58244 13.67634 14.50567 13.75371
## [17] 14.64978 14.07128 14.21274 13.96378 16.13938 13.95680 15.47318 14.84464
## [25] 13.80221 12.90063 15.45499 15.39200 15.71906 15.63134
promedios_normal <- replicate(replicas, mean(rnorm(n, mean = 15, sd = 5)))
promedios_normal
## [1] 14.41859 16.52575 12.98921 13.61381 15.77217 15.14907 13.66039 13.98177
## [9] 16.10839 15.29658 15.65990 15.52112 15.84616 15.91322 14.98330 17.37411
## [17] 14.35675 14.86354 15.50882 15.65989 13.14766 14.08855 15.06103 15.55961
## [25] 14.47603 15.64365 14.38461 14.97330 14.91187 15.08997
promedios_exponencial <- replicate(replicas, mean(rexp(n, rate = 1/3.5)))
promedios_exponencial
## [1] 1.871643 4.436236 4.165827 3.342715 4.206696 3.438946 3.379113 3.250006
## [9] 2.868518 5.795009 3.296479 4.671015 2.957775 4.075798 3.827479 3.669299
## [17] 1.980829 2.317444 3.918975 4.156823 3.029632 2.900974 5.758121 3.337199
## [25] 2.427350 4.726664 3.015490 3.407896 2.528487 4.419910
IC_media <- function(datos, nivel = 0.95) {
media <- mean(datos)
desv <- sd(datos)
n <- length(datos)
error <- qt((1 + nivel)/2, df = n - 1) * desv / sqrt(n)
c(inf = media - error, sup = media + error)
}
# Distribución Normal
ic_normal <- IC_media(promedios_normal)
media_normal <- mean(promedios_normal)
desv_normal <- sd(promedios_normal)
# Distribución Exponencial
ic_exponencial <- IC_media(promedios_exponencial)
media_exp <- mean(promedios_exponencial)
desv_exp <- sd(promedios_exponencial)
# Tabla resumen
resultados <- data.frame(
Distribucion = c("Normal", "Exponencial"),
Media_Muestral = c(media_normal, media_exp),
Desviacion = c(desv_normal, desv_exp),
IC_95_inf = c(ic_normal[1], ic_exponencial[1]),
IC_95_sup = c(ic_normal[2], ic_exponencial[2])
)
resultados
## Distribucion Media_Muestral Desviacion IC_95_inf IC_95_sup
## 1 Normal 15.017961 0.9838470 14.65059 15.385335
## 2 Exponencial 3.572612 0.9642897 3.21254 3.932683
par(mfrow = c(1, 2))
hist(promedios_normal, main = "Promedios - Distribución Normal",
xlab = "Tiempo promedio (min)", col = "lightblue", border = "white")
hist(promedios_exponencial, main = "Promedios - Distribución Exponencial",
xlab = "Tiempo promedio (min)", col = "lightgreen", border = "white")