set.seed(123) # Para reproducibilidad

# 1. Proceso de Poisson (3 fallas por día, 150 días)
fallas <- rpois(150, lambda = 3)
mean_fallas <- mean(fallas)
sd_fallas <- sd(fallas)

cat("Ejercicio 1:\nMedia =", mean_fallas, 
    " Desviación Estándar =", sd_fallas, "\n\n")
## Ejercicio 1:
## Media = 2.9  Desviación Estándar = 1.721362
# 2. Vida útil de un componente (Exponencial con media 500)
vidas <- rexp(1000, rate = 1/500)
prob_mas_700 <- mean(vidas > 700)

cat("Ejercicio 2:\nProbabilidad de durar > 700 horas =", prob_mas_700, "\n\n")
## Ejercicio 2:
## Probabilidad de durar > 700 horas = 0.237
# 3. Productos defectuosos (Binomial, p = 0.05, lote de 50, 100 lotes)
defectuosos <- rbinom(100, size = 50, prob = 0.05)
prom_defectuosos <- mean(defectuosos)

cat("Ejercicio 3:\nPromedio de defectuosos por lote =", prom_defectuosos, "\n\n")
## Ejercicio 3:
## Promedio de defectuosos por lote = 2.57
# 4. Demanda diaria de energía (Normal con media=100 y sd=15, 365 días)
demanda <- rnorm(365, mean = 100, sd = 15)
prob_mas_130 <- mean(demanda > 130)

cat("Ejercicio 4:\nProbabilidad de demanda > 130 MW =", prob_mas_130, "\n\n")
## Ejercicio 4:
## Probabilidad de demanda > 130 MW = 0.01369863
hist(demanda, breaks = 20, col = "blue", 
     main = "Demanda de Energía (MW)",
     xlab = "MW", probability = TRUE)
curve(dnorm(x, mean = 100, sd = 15), 
      add = TRUE, col = "green", lwd = 2)

# 5. Vida de capacitores (Exponencial con beta=1000)
n <- 1000
u <- runif(n)
vidas_cap <- -1000 * log(1 - u) # Transformada inversa

# b) Media y varianza simulada vs teórica
media_sim <- mean(vidas_cap)
var_sim <- var(vidas_cap)
media_teorica <- 1000
var_teorica <- 1000^2

cat("Ejercicio 5:\nMedia simulada =", media_sim, 
    " Media teórica =", media_teorica, "\n")
## Ejercicio 5:
## Media simulada = 1011.561  Media teórica = 1000
cat("Varianza simulada =", var_sim, 
    " Varianza teórica =", var_teorica, "\n\n")
## Varianza simulada = 982065  Varianza teórica = 1e+06
# c) Histograma + densidad teórica
hist(vidas_cap, breaks = 30, col = "blue", probability = TRUE,
     main = "Tiempo de Vida de Capacitores", xlab = "Horas")
curve(dexp(x, rate = 1/1000), add = TRUE, col = "green", lwd = 2)

# d) Probabilidad de durar menos de 940 horas
prob_menor_940 <- mean(vidas_cap < 940)
cat("Ejercicio 5d:\nProbabilidad que dure < 940 horas =", prob_menor_940, "\n")
## Ejercicio 5d:
## Probabilidad que dure < 940 horas = 0.595

Conclusiones

La simulación de variables aleatorias en R permitió modelar diversos fenómenos estocásticos como fallas en sistemas, productos defectuosos o la demanda de energía eléctrica. Mediante el uso de funciones como rnorm(), rpois(), rexp() y rbinom(), se generaron datos sintéticos que facilitaron el análisis estadístico sin requerir datos reales. Además, el uso del comando set.seed() aseguró la reproducibilidad de los resultados, lo cual es fundamental para la validación de simulaciones. La implementación de la transformada inversa para simular tiempos de vida bajo una distribución exponencial reforzó la comprensión de los conceptos teóricos y su aplicación práctica. Los resultados obtenidos fueron consistentes con los valores teóricos esperados, lo que demuestra la efectividad de los métodos utilizados. En conjunto, este taller permitió desarrollar competencias clave en programación estadística, análisis de datos simulados y visualización, herramientas esenciales en el campo de la ingeniería, la investigación y la ciencia de datos.