tutorial ggplot geom_histogram geom_freqpoly density and r ggplot2

geom_freqpoly - ggplot geom_bar versus geom_histogram



histogram and density plot r ggplot (2)

¿Cuál es la diferencia (si existe) entre geom_bar y geom_histogram en ggplot? Parecen producir la misma trama y tomar los mismos parámetros.


  • Los gráficos de barras proporcionan una presentación visual de datos categóricos. Ejemplos:
    • La cantidad de personas con cabello rojo, negro y marrón
    • Mira el archivo de ayuda geom_bar . Los ejemplos son todos conteos.
    • Página de Wikipedia
  • Los histogramas se usan para graficar la densidad de los datos de intervalos (generalmente numéricos). Ejemplos,
    • Distribuciones de edad y altura
    • archivo de ayuda geom_hist . Los ejemplos son distribución de clasificaciones de películas.

ggplot2

Después de investigar un poco más, creo que en ggplot2 no hay diferencia entre geom_bar y geom_histogram . De los documentos:

geom_histogram(mapping = NULL, data = NULL, stat = "bin", position = "stack", ...) geom_bar(mapping = NULL, data = NULL, stat = "bin", position = "stack", ...)

Me doy cuenta de que en los documentos geom_histogram dice:

geom_histogram es un alias para geom_bar plus stat_bin

pero para ser sincero, no estoy muy seguro de lo que esto significa, ya que mi comprensión de ggplot2 es que tanto stat_bin como geom_bar son capas (con un énfasis ligeramente diferente).


El comportamiento predeterminado es el mismo desde geom_bar y geom_histogram. Esto es porque (y como @csgillespie mencionado), hay un stat_bin implícito cuando llamas a geom_histogarm (comprensible), y también es la transformación de estadísticas predeterminada aplicada a geom_bar (comportamiento discutible IMO). Es por eso que debe especificar stat=''identity'' cuando desee trazar los datos tal como están.

El stat=''bin'' o stat_bin() es una transformación estadística que ggplot hace por usted. Le proporciona como salida las variables rodeadas con dos puntos (la ..count.. y ..density.. Si no especifica stat=''bin'' , no obtendrá esas variables.