#2 mezcla de gammas.# Y = .2*Gamma((1,10,1/30)) + .8*Gamma((1,50,1/20))# Parámetrosm =1000x =numeric(m) # Inicializa el vector xb =numeric(m) # Inicializa el vector ba1 =0.20a2 =0.80b =rbinom(m, 1, a2) # Asignación de mezcla# Simulación de la mezcla de distribuciones gammafor (i in1:m) {if (b[i] ==0) { x[i] =rgamma(1, shape =20, rate =7) # Gamma(20, 7) } else { x[i] =rgamma(1, shape =50, rate =7) # Gamma(50, 7) }}# Histograma de la mezcla de gammasx_hist =hist(x, probability =TRUE, breaks =40)
# Graficar histogramahist(x, probability =TRUE, breaks =40, main =expression(bold("Gamma(20,7) y Gamma(50,7)")), xlab ="Valores", col ="lightblue", border ="white", # Color del histograma y bordexlim =c(0, 12.5), # Ajuste para el eje xylim =c(0, 0.7)) # Ajuste para el eje y# Añadir las curvas teóricascurve(dgamma(x, shape =20, rate =7), from =0, to =12.5, add =TRUE, col ="red", lwd =2) # Curva Gamma(20, 7)curve(dgamma(x, shape =50, rate =7), from =0, to =12.5, add =TRUE, col ="blue", lwd =2) # Curva Gamma(50, 7)# Etiquetas para las curvastext(5, 0.5, "Gamma(20, 7)", col ="red", cex =1.2) # Etiqueta para Gamma(20, 7)text(5, 0.4, paste("Media:", round(20/7, 3)), col ="red", cex =0.8)text(10, 0.3, "Gamma(50, 7)", col ="blue", cex =1.2) # Etiqueta para Gamma(50, 7)text(10, 0.2,paste("Media:", round(50/7, 3)), col ="blue", cex = .8)
Imprimimos los valores de nuestra función de densidad.
# Mostrar las probabilidades del histogramabreaks = x_hist$breaksdensity = x_hist$density# Mostrar los breaks y densidad calculadosprint(breaks)