2017-08-16

Cómo comparar varias distribuciones de frecuencias con ggplot2

Problema

Como vimos anteriormente con ggplot2 podemos crear un histograma fácilmente.

library(ggplot2)
ggplot(diamonds, aes(price)) +
  geom_histogram(binwidth = 500)
Pero si queremos comparar por calidad de tallado (quality of the cut), podríamos:
  • Filtrar por tipo de tallado

  • library(dplyr)
    ggplot(filter(diamonds, cut == "Ideal"), aes(price)) +
      geom_histogram(binwidth = 500)
    

  • Apilar por tipo de tallado

  • ggplot(diamonds, aes(price, fill = cut)) +
      geom_histogram(binwidth = 500)
    
  • Sin apilar aplicando transparencia
  • 
    ggplot(diamonds, aes(price, fill = cut)) +
    +     geom_histogram(binwidth = 500, position = "identity", alpha = 0.2)
    

Solución

Una alternativa más clara es utilizar la función geom_freqpoly que muestra líneas en lugar de barras para representar las frecuencias. Cuando se solapan es más sencillo interpretar líneas que barras.

ggplot(diamonds, aes(price, colour = cut)) +
  geom_freqpoly(binwidth = 500)
Si deseamos representar solamente un tipo de tallado:

ggplot(filter(diamonds, cut == "Ideal"), aes(price, colour = cut)) + geom_freqpoly(binwidth = 500)

Referencias

No hay comentarios:

Publicar un comentario

Nube de datos