0% encontró este documento útil (0 votos)
20 vistas43 páginas

5 R - Visualización de Datos v2

Cargado por

eorozcof
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
20 vistas43 páginas

5 R - Visualización de Datos v2

Cargado por

eorozcof
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Sobre el conferencista

Miguel Angel Orjuela Rocha


Ing. de Sistemas y Computación

Skills: Contacto:
 Desarrollo Fullstack [Link]@[Link]
 Analítica de datos [Link]
 Transferencia de conocimiento [Link]
Contenido

• Introducción a ggplot2 y la gramática de los gráficos


• Breve historia y filosofía detrás de ggplot2.
• Componentes básicos de la gramática de los gráficos: datos, aes (estéticas), geoms (geometrías)
• Profundizando en ggplot2
• Detalle de geoms comunes: geom_point, geom_line, geom_bar, etc
• Mapeo de estéticas y su importancia (color, tamaño, forma)
• Ajuste de escalas y ejes para una mejor interpretación de los datos
• Facetas, Coordenadas y Temas
• Uso de facet_wrap y facet_grid para crear facetas
• Coordenadas y su impacto ([Link]., coordenadas polares)
• Personalización con temas: cambiar colores, fuentes, y elementos del tema
• Consejos Prácticos y Sesión de Preguntas
• Consejos para la creación de gráficos para publicaciones o presentaciones
• Recursos adicionales para seguir aprendiendo ggplot2
Herramientas a emplear
RStudio Cloud Herramientas a emplear

■ Servicio web que permite ejecutar R en la nube (servidores de RStudio)

■ Se inicia sesión y se crea un nuevo proyecto


Instalación de paquetes Herramientas a emplear

# Se necesitan instalar una vez


# por computador

[Link]("nombrepaquete")

# pero hay que cargarlo cada vez


# que se inicia R

library(nombredelpaquete)
Instalación de paquetes Herramientas a emplear

# librerías importantes

library(readr)

library(tidyr)

library(dplyr)

library(ggplot2)
Paquete tidyverse Herramientas a emplear

library(tidyverse) las incluye todas


Introducción a ggplot2 y la
gramática de los gráficos
Introducción a ggplot2 y la
Bienvenida e introducción gramática de los gráficos

■ ¿Qué es un gráfico? ■ ¿Cómo describirías este gráfico?


■ ¿Qué tipos de gráficos existen?
Introducción a ggplot2 y la
La gramática de los gráficos gramática de los gráficos

■ Propuesta por Hadley Wickham


■ Marco teórico y una metodología para la creación de gráficos estadísticos.
■ Basada en el trabajo original de Leland Wilkinson, "The Grammar of Graphics
■ Implementada en el paquete ggplot2 de R

[Link]
Introducción a ggplot2 y la
La gramática de los gráficos gramática de los gráficos

■ La idea central es descomponer los gráficos en componentes semánticos


básicos, como los datos, las variables estéticas (color, forma, tamaño, etc.), y las
facetas para dividir los datos en múltiples gráficos según algún criterio.

Objetos Escala y
sistema de Anotaciones
geométricos
coordenadas

+ + =
Introducción a ggplot2 y la
Componentes básicos gramática de los gráficos

■ Datos y mapeos estéticos (aesthetic mapping)


■ Capa
■ Objetos geométricos
■ Transformación estadística
■ Ajustes de posición
■ Mapeos estéticos (opcionales)
■ Escalas
■ Sistema de coordenadas
■ Especificación de facetas (facet)
Introducción a ggplot2 y la
Construyendo un gráfico paso a paso gramática de los gráficos

Un dataset
sencillo
x y forma
25 11 circulo
0 0 circulo
75 53 cuadrado
200 300 cuadrado
Introducción a ggplot2 y la
Construyendo un gráfico paso a paso gramática de los gráficos

pos_x <- c(25,0,75,200)


pos_y <- c(11,0,53,300)
forma <- c("circulo", "circulo", " cuadrado", "cuadrado")

datos <- [Link](pos_x,pos_y,forma)

View(datos)

pos_x pos_y forma

25 11 circulo

0 0 circulo

75 53 cuadrado

200 300 cuadrado


Introducción a ggplot2 y la
Construyendo un gráfico paso a paso gramática de los gráficos

capa
nueva

ggplot(data = <DATA>) +
<GEOM_FUNCTION>(mapping = aes(<MAPPINGS>))

■ DATA: los datos


■ GEOM_FUNCTION: tipo de objetos geométricos (puntos, barras, densidad,
boxplot,…)
■ MAPPINGS: relaciona cada variable con su eje (x = var1, y = var2)
Introducción a ggplot2 y la
Construyendo un gráfico paso a paso gramática de los gráficos

ggplot(data = datos) +
geom_point(aes(x = pos_x, y = pos_y))

Gráfico de dispersión
Introducción a ggplot2 y la
Actividad 1 - Gráfico de dispersión gramática de los gráficos

Instrucciones:

1. Dataset: Utiliza el conjunto de datos mtcars disponible en R.


2. Tarea: Crea un gráfico de dispersión que muestre la relación entre wt (peso) y
mpg (millas por galón). Utiliza wt para el eje x y mpg para el eje y.
3. Estéticas adicionales: Asigna el color de los puntos según el número de
cilindros (cyl).
4. Desafío opcional: Añade una línea de tendencia al gráfico.

Código de inicio ggplot(mtcars, aes(x = wt, y = mpg, color = factor(cyl))) +


geom_point() +
geom_smooth(method = "lm", se = FALSE) +
labs(color = "Número de cilindros")
Profundizando en ggplot2
Tipos de variables Profundizando en ggplot2

Según su
Tipo de
forma de ser
variables
descritas

Cualitativa
Característica Números enteros
Discreta
(Variable) No valores intermedios
Cuantitativa [Link]. núm. de mascotas

Contínua Admite valores fraccionarios


[Link]. estatura
Escalas de medición Profundizando en ggplot2

Según su
Escala de
forma de
medición
ser descritas

Nominal Etiquetas, sin orden


Cualitativa color_ojos
Ordinal Negro
Característica Verde
(Variable)
Intervalo Azul

Cuantitativa
Razón
Escalas de medición Profundizando en ggplot2

estado_salud
Según su Muy saludable
Escala de
forma de
medición Medianamente saludable
ser descritas
Saludable
Poco saludable
Nominal
No saludable
Cualitativa
Ordinal Etiquetas, con orden
Característica
(Variable)
nivel_socioeconómico
Intervalo
Alto
Cuantitativa
Medio
Razón
Bajo
Escalas de medición Profundizando en ggplot2

Según su
Escala de
forma de temp_c
medición
ser descritas 36.8
38.4
Nominal 37.1
Cualitativa
Ordinal Valores numéricos.
Característica Unidades de medidas constantes.
(Variable) Se conoce la distancia exacta entre
Intervalo mediciones.
Se pueden hacer comparaciones
Cuantitativa
entre la diferencia de mediciones.
Razón El cero es una convención.
Escalas de medición Tipos de variables

Según su
Escala de
forma de precio
medición
ser descritas
$5000
$3200
Nominal
$0
Cualitativa
Ordinal
Valores numéricos.
Característica
Unidades de medidas constantes.
(Variable)
Intervalo Se conoce la distancia exacta entre
mediciones.
Cuantitativa Se pueden hacer comparaciones
Razón entre la diferencia de mediciones.
El cero es absoluto, representa
ausencia de lo que se mide.
Escala de medición y sus operaciones Profundizando en ggplot2
posibles

Nivel de medición Identificación: Orden: Unidad de medida Cero absoluto:


constante:
Hay distinción entre Se pueden ordenar Se conoce la Ausencia de valor
categorías distancia exacta en la escala que se
entre cada categoría traduzca
Operaciones Contar Ordenar Comparar Comparar razones
diferencias
Relaciones posibles =, ≠ <, > +, − ×,÷
Nominal

Ordinal

Intervalo

Razón
Tipos de datos en R Profundizando en ggplot2

Abreviación Significado
int Número entero
num, Número real
chr Cadena de caracteres
POSIXct Fecha/Hora
Factor Categorías
Algunas transformaciones estadísticas Profundizando en ggplot2
suministradas por ggplot2
Explorando geoms Profundizando en ggplot2

[Link]
Explorando geoms Profundizando en ggplot2

[Link]
Mapeo de estéticas Profundizando en ggplot2

ggplot(data = datos) +
geom_point(aes(x = pos_x, y = pos_y, shape = forma))

La estética incluye cosas


como el tamaño (size), la
forma (shape) o el color
de los puntos (color).
Puede mostrar un punto
de diferentes formas
cambiando los valores de
sus propiedades estéticas.

Gráfico de dispersión
Mapeo de estéticas Profundizando en ggplot2

ggplot(data = datos) +
geom_point(aes(x = pos_x, y = pos_y, shape = forma)) +
scale_shape_manual(values =c(16,15))

Cuando se mapea una


variable en aes() ggplot2
asigna automáticamente
un nivel único de la
estética (aquí un color
único) a cada valor único
de la variable, un proceso
conocido como scaling

Gráfico de dispersión
Mapeo de estéticas Profundizando en ggplot2

ggplot(data = datos) +
geom_point(aes(x = pos_x, y = pos_y, shape = forma), size = 5, color = "red") +
scale_shape_manual(values =c(16,15))

Se pueden asignar valores


de estéticas
manualmente,
ajustándolos por fuera del
aes()

Gráfico de dispersión
Ajustes de escalas y ejes Profundizando en ggplot2

Los ejes son fundamentales para entender el gráfico.

Ajuste de Escalas:
■ Escala Continua y Discreta: Diferencia entre scale_x_continuous/scale_y_continuous y
scale_x_discrete/scale_y_discrete.
■ Transformaciones de Escalas: Uso de transformaciones logarítmicas (scale_y_log10()) para datos
con gran rango de variación.
■ Guías y Leyendas: Personalizar leyendas y guías para mejorar la interpretación (guide_legend,
guide_colourbar).

Ajuste de Ejes:
■ Etiquetas de Ejes: Cambiar nombres de ejes con xlab()/ylab() o labs(x = "Nuevo nombre", y =
"Nuevo nombre").
■ Límites de Ejes: Definir límites con xlim()/ylim() o dentro de
scale_x_continuous/scale_y_continuous con limits = c(min, max).
■ Rotación de Etiquetas: Rotar etiquetas para mejorar la legibilidad (theme([Link].x =
element_text(angle = 45, hjust = 1))).
Ejemplo Práctico - Geoms y Ajustes Profundizando en ggplot2

Objetivo del Ejemplo: Mostrar cómo la combinación de múltiples geoms y la


personalización de escalas y ejes puede usarse para crear un gráfico complejo y
detallado.

Descripción del Dataset: Introduce brevemente el conjunto de datos a utilizar, por


ejemplo, mpg de ggplot2, que contiene datos sobre la economía de combustible
de diferentes vehículos.
Actividad 2 - Diseña tu Gráfico Profundizando en ggplot2

Instrucciones:

1. Dataset: Utiliza el conjunto de datos diamonds disponible en R.


2. Tarea: Crea un gráfico que compare el precio (price) de los diamantes por su
calidad de corte (cut) y color (color).
3. Requerimientos:
■ Utiliza geom_boxplot para mostrar la distribución de precios.
■ Mapea la calidad de corte al eje x y el precio al eje y.
■ Utiliza el color para diferenciar entre los distintos colores de diamantes.
4. Desafío opcional: Ajusta la escala del eje y para mejorar la visualización.

Código de inicio: ggplot(diamonds, aes(x = cut, y = price, color = color)) +


geom_boxplot() +
scale_y_continuous(labels = scales::comma)
Facetas, Coordenadas y
Temas
Facetas para Comparación Facetas, Coordenadas y Temas

■ Uso de facet_wrap y facet_grid.

x y forma
25 11 circulo
0 0 circulo
75 53 cuadrado
200 300 cuadrado Un panel por cada tipo en la
variable forma
Personalización con Temas Facetas, Coordenadas y Temas

Los temas controlan la apariencia estética no relacionada con los datos del gráfico,
como el fondo, las fuentes y los colores de los ejes y leyendas.

Temas Predeterminados:
■ Lista de temas predeterminados en ggplot2 ([Link]., theme_gray(),
theme_minimal(), theme_bw(), theme_light(), theme_dark(), theme_classic()).
■ Ejemplo breve de cómo cambiar el tema de un gráfico: + theme_minimal().

Personalización de Temas:
■ Cómo ajustar elementos específicos del tema usando la función theme() ([Link].,
[Link].x, [Link].y, [Link]).
■ Ejemplo de personalización: cambiar el texto de los ejes a negrita o modificar la
posición de la leyenda.
Ejemplo Práctico Facetas, Coordenadas y Temas

Demostrar cómo utilizar facetas y coordenadas junto con temas personalizados


para crear un gráfico avanzado y atractivo.

■ Descripción del Dataset: Utilizar el conjunto de datos mpg para explorar cómo
varía la eficiencia de combustible (hwy) con el desplazamiento del motor (displ),
segmentado por clase de vehículo (class).
Actividad 3 - Personalización Total Facetas, Coordenadas y Temas

Instrucciones:

1. Dataset: Utiliza el conjunto de datos ggplot2::mpg.


2. Tarea: Crea un gráfico que muestre la relación entre la economía de combustible en
carretera (hwy) y el desplazamiento del motor (displ), diferenciado por tipo de
transmisión (drv).
3. Requerimientos:
■ Utiliza geom_point para representar los puntos.
■ Aplica facetas según el tipo de transmisión (drv).
■ Personaliza el tema utilizando theme_minimal() y ajusta los elementos del tema según prefieras.
4. Desafío opcional: Experimenta con coordenadas polares para un enfoque único.
ggplot(mpg, aes(x = displ, y = hwy, color = drv)) +
geom_point() +
Código de inicio: facet_wrap(~drv) +
theme_minimal() +
theme([Link] = "bottom")
Consejos Prácticos y Sesión
de Preguntas
Consejos Prácticos y Sesión de
Recursos Preguntas

• [Link]
• [Link]
• [Link]
[Link]
Gracias por tu asistencia y participación 

Contacto
[Link]@[Link]
[Link]
[Link]

Links de interés

• [Link]
• [Link]
• [Link]

También podría gustarte