es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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)

Imagen del histograma

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?

Tags:  , ,

Answer

  1. Avatar for 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.

Comments are closed.