Visualizaciones gráficas en R con ggplot2

R para usuarios de SAS

Melinda Higgins, PhD

Research Professor/Senior Biostatistician Emory University

Paquete ggplot2

logotipo hexsticker de ggplot2

  • ggplot2 es un potente paquete gráfico para R
  • La «GG» de ggplot viene de «grammar of graphics»
  • ggplot2 construye gráficos por capas
  • Se añaden uno o más objetos geométricos a la capa base
R para usuarios de SAS

Capas - capa base

# Create plot for x=sex and y=diameter
ggplot(data = abalone, aes(sex, diameter))
  • Define la capa base con ggplot()
  • Establece data = abalone
  • Define aes con sex y diameter

  • Aún no hay objetos gráficos

  • El eje x está listo para sex
  • El eje y está listo para diameter
  • La cuadrícula ya está dispuesta

entorno gráfico de ggplot2 aún sin boxplot

R para usuarios de SAS

Capas - añadir geom de boxplot

# Add boxplot geometric object or geom
ggplot(data = abalone,
       aes(sex, diameter)) +
  geom_boxplot()
  • El operador + añade una capa
  • Se añade el boxplot con geom_boxplot()

  • El resultado es una serie de boxplots

  • Diámetros de abulón por sexo
  • F hembras, I juveniles y M machos

boxplots añadidos en ggplot2

R para usuarios de SAS

Capas - añadir un tema

# Add black white theme
ggplot(data = abalone,
       aes(sex, diameter)) +
  geom_boxplot() +
  theme_bw()
  • Añade una capa de «theme» con theme_bw()
  • Quita el fondo gris
  • Dibuja un marco negro alrededor del gráfico

boxplot de ggplot2 con tema blanco y negro

R para usuarios de SAS

Cambiar geom de boxplot a geom de violín

# Change to geom_violin()
ggplot(data = abalone,
       aes(sex, diameter)) +
  geom_violin() +
  theme_bw()
  • geom_violin sustituye a geom_boxplot
  • Crea una forma similar a un violín
  • Refleja la densidad de los datos
  • Un cambio simple para una nueva figura

gráfico de violín en ggplot2

R para usuarios de SAS

Histograma de variable única

# Make histogram of shuckedWeight
ggplot(abalone, aes(shuckedWeight)) +
  geom_histogram()
  • Crea un histograma de una variable
  • Una variable = una estética
  • Añade geom_histogram()
  • Define aes() como shuckedWeight
  • Conviene cambiar los colores por defecto

histograma de ggplot2 todo en negro

R para usuarios de SAS

Histograma: añadir colores

# Make lines black and fill light blue
ggplot(abalone, aes(shuckedWeight)) +
  geom_histogram(color = "black",
                 fill = "lightblue")
  • Cambia parámetros gráficos
  • Define color de los bordes de las barras
  • Define fill para el relleno
  • Cada opción va dentro de los ()
  • El histograma mejora mucho

histograma de ggplot2 con barras azules y bordes negros

R para usuarios de SAS

Histograma: añadir título y ejes

# Add x, y axis labels and title
ggplot(abalone, aes(shuckedWeight)) +
  geom_histogram(color = "black",
                 fill = "lightblue") +
  xlab("Shucked Weight") +
  ylab("Frequency Counts") +
  ggtitle("Shucked Weights Histogram")
  • Añade mejores etiquetas de ejes y título
  • Usa xlab() y ylab() para los ejes
  • Usa ggtitle() para el título
  • ¡Esta figura está lista para publicar!

histograma de ggplot2 con etiquetas de ejes y título

R para usuarios de SAS

Crear diagrama de dispersión

# Make scatterplot with geom_point()
ggplot(abalone,
       aes(rings, shellWeight)) +
  geom_point()
  • Un diagrama de dispersión aes necesita dos variables
  • geom_point() añade los puntos
  • Dispersión de shellWeight por rings

dispersión de ggplot2 de shellweight por rings

R para usuarios de SAS

Dispersión: añadir línea suavizada

# Add smoothed fit line
ggplot(abalone,
       aes(rings, shellWeight)) +
  geom_point() +
  geom_smooth()
  • Añade geom_smooth() al diagrama de dispersión
  • Incluye área sombreada de confianza

dispersión de ggplot2 con línea suavizada

R para usuarios de SAS

Crear paneles por otra variable

# Add panels using facet_wrap()
ggplot(abalone,
       aes(rings, shellWeight)) +
  geom_point() +
  geom_smooth() +
  facet_wrap(vars(sex))
  • Añade una capa más al diagrama de dispersión
  • Crea paneles por cada sexo de abulón
  • Añade la capa facet_wrap()
  • vars(sex) define la variable de los paneles

dispersión de ggplot2 con 3 paneles por sexo

R para usuarios de SAS

Resto del curso

  • El capítulo 1 cierra con una breve introducción a gráficos
    • base de habilidades gráficas con ggplot2
    • visualizar medidas de abulón por sexo
  • El capítulo 2 enseña manipulación de datos
    • limpiar el conjunto de datos de abulón
  • El capítulo 3 enseña métodos de exploración
    • estadísticas descriptivas, correlaciones y pruebas de comparación
  • El capítulo 4 enseña modelado y presentación de resultados
    • predecir edades de abulón por medidas
    • explorar modelos por sexo
R para usuarios de SAS

Vamos a crear algunos gráficos de abulones

R para usuarios de SAS

Preparing Video For Download...