set.seed(78)  # Fijamos la semilla para reproducibilidad

set.seed(123) # Fijamos la semilla para reproducibilidad

##Simulación de fallas en un semestre (Poisson)

fallas <- rpois(150, lambda = 3)
media_fallas <- mean(fallas)
desviacion_fallas <- sd(fallas)

cat("**Media de fallas:**", media_fallas, "\n")
## **Media de fallas:** 3.04
cat("**Desviación estándar de fallas:**", desviacion_fallas, "\n")
## **Desviación estándar de fallas:** 1.714056

##Vida útil de componentes electrónicos (Exponencial)

vida_util <- rexp(1000, rate = 1/500)
prob_mas_700 <- mean(vida_util > 700)

cat("**Probabilidad de que un componente dure más de 700 horas:**", prob_mas_700, "\n")
## **Probabilidad de que un componente dure más de 700 horas:** 0.239

##Productos defectuosos (Binomial)

defectuosos <- rbinom(100, size = 50, prob = 0.05)
promedio_defectuosos <- mean(defectuosos)

cat("**Número promedio de productos defectuosos por lote:**", promedio_defectuosos, "\n")
## **Número promedio de productos defectuosos por lote:** 2.49

##Demanda de energía (Normal)

demanda <- rnorm(365, mean = 100, sd = 15)
prob_supera_130 <- mean(demanda > 130)

cat("**Probabilidad de que la demanda supere 130 MW:**", prob_supera_130, "\n")
## **Probabilidad de que la demanda supere 130 MW:** 0.0109589

##Histograma de la demanda diaria

hist(demanda, main = "Histograma de la Demanda Diaria de Energía",
     xlab = "Demanda (MW)", col = "lightblue", probability = TRUE)
curve(dnorm(x, mean = 100, sd = 15), add = TRUE, col = "red", lwd = 2)

##Vida de capacitores (Método de Transformada Inversa)

u <- runif(1000)
tiempos_vida <- -1000 * log(1 - u)  # Transformada inversa

media_tiempos <- mean(tiempos_vida)
varianza_tiempos <- var(tiempos_vida)

cat("**Media de tiempos generados:**", media_tiempos, "\n")
## **Media de tiempos generados:** 969.4913
cat("**Varianza de tiempos generados:**", varianza_tiempos, "\n")
## **Varianza de tiempos generados:** 1051954

##Histograma de tiempos de vida simulados

hist(tiempos_vida, main = "Histograma de Tiempos de Vida de Capacitores",
     xlab = "Tiempo de vida (horas)", col = "lightblue", probability = TRUE)
curve(dexp(x, rate = 1/1000), add = TRUE, col = "red", lwd = 2)

##Probabilidad de que un capacitor dure menos de 940 horas

prob_menos_940 <- mean(tiempos_vida < 940)
cat("**Probabilidad de que un capacitor dure menos de 940 horas:**", prob_menos_940, "\n")
## **Probabilidad de que un capacitor dure menos de 940 horas:** 0.629