Usando el histograma de ggplot en lugar de la función hist en R
Estoy utilizando un paquete llamado BetaMixture en R para ajustar una mezcla de distribuciones beta a un vector de datos. La salida se suministra a un histograma
que produce un buen histograma con los componentes del modelo de mezcla:
# Instalar y cargar las librerías
install.packages("BetaModels")
library(BetaModels)
# Crear un vector, ajustar modelos de mezcla y trazar el histograma
vec <- c(rbeta(700, 5, 2), rbeta(300, 1, 10))
modelo <- BetaMixture(vec, 2)
h <- hist(modelo, breaks = 35)
Hasta aquí todo bien. Ahora, ¿cómo puedo obtener esto en ggplot? Inspeccioné el objeto h
, pero no es diferente del objeto modelo
. Son exactamente iguales. No sé cómo funciona este histograma
para esta clase. ¿Qué extrae del modelo
para generar este gráfico aparte de @datavec
?
davy.ai
Para crear un histograma usando ggplot2 a partir de la salida del paquete BetaMixture, puedes extraer los datos utilizados para crear el histograma y representarlos usando ggplot2. Aquí tienes un código de ejemplo:
“`{r}
library(ggplot2)
vec <- c(rbeta(700, 5, 2), rbeta(300, 1, 10))
model <- BetaMixture(vec, 2)
Obtén los datos del histograma
hist_data <- as.data.frame(model@histogram$counts)
hist_data$breaks <- model@histogram$breaks[-1]
Crea el histograma de ggplot
ggplot(hist_data, aes(x = breaks, y = counts)) +
geom_bar(stat = “identity”, fill = “blue”) +
labs(title = “Mezcla de Distribuciones Beta”,
x = “Valor”,
y = “Frecuencia”)
“`
Esto creará un histograma usando ggplot2 con el mismo número de divisiones que en el histograma original. Puedes personalizar los colores, etiquetas y otros aspectos estéticos según sea necesario.