Lecciones del módulo (1/2)
Gramática y Geometrías Básicas
La visualización de datos en R está dominada por ggplot2, un paquete basado en la "Gramática de los Gráficos" (Grammar of Graphics). Esta teoría descompone los gráficos en componentes semánticos independientes, como los datos, los mapeos estéticos y los elementos geométricos.
La Estructura de ggplot2
Cada gráfico creado con ggplot2 comienza con la llamada a la función ggplot(), a la cual asociamos un data frame y definimos cómo mapear las columnas del data frame a las propiedades visuales mediante la función aes() (aesthetics).
Luego, añadimos capas geométricas usando el operador + (atención: se usa + y no %>% en ggplot2).
La estructura básica es:
ggplot(data = <DATA_FRAME>, mapping = aes(<ESTÉTICAS>)) +
<GEOMETRÍA>()
Propiedades Estéticas (aes) y Geometrías (geom_*)
La función aes() define qué variables de los datos controlan los atributos del gráfico:
x: Posición en el eje horizontal.y: Posición en el eje vertical.color: Color de los puntos o de las líneas.fill: Color de relleno de formas cerradas (ej. barras).size: Tamaño de los elementos.
Las geometrías (geom_) definen el tipo de visualización gráfica:
1. Gráfico de dispersión (geom_point())
Ideal para mostrar la relación entre dos variables numéricas.
ggplot(df, aes(x = age, y = income)) +
geom_point()
2. Gráfico de líneas (geom_line())
Usado a menudo para datos temporales o series históricas.
ggplot(df, aes(x = year, y = sales)) +
geom_line()
3. Gráfico de barras (geom_bar() y geom_col())
geom_bar() cuenta la frecuencia de cada categoría por defecto, mientras que geom_col() representa directamente los valores presentes en una columna y.
# Representa el valor de la columna 'sales' para cada 'category'
ggplot(df, aes(x = category, y = sales)) +
geom_col()
Pruébalo tú
Ejercicio 1: Crea un gráfico de dispersión básico
Crea un gráfico de dispersión (scatter plot) utilizando el data frame df. Mapea la columna height en el eje x y la columna weight en el eje y. Usa geom_point().
Mostrar pista
Asegúrate de usar ggplot(df, aes(x = height, y = weight)) + geom_point()
Solución disponible después de 3 intentos
Ejercicio 2: Agrega un color basado en los datos
Modifica el gráfico anterior mapeando la propiedad color en la columna gender dentro de aes() para colorear los puntos según el género.
Mostrar pista
Incluye color = gender dentro de aes(), por ejemplo: aes(x = height, y = weight, color = gender).
Solución disponible después de 3 intentos
Ejercicio 3: Gráfico de líneas
Crea un gráfico de líneas usando df. Mapea la columna year en el eje x y la columna sales en el eje y. Agrega la capa geométrica geom_line().
Mostrar pista
Usa ggplot(df, aes(x = year, y = sales)) + geom_line()
Solución disponible después de 3 intentos
Ejercicio 4: Gráfico de barras con geom_col
Crea un gráfico de columnas para visualizar el valor de los datos. Mapea la columna category en el eje x y la columna value en el eje y. Usa la geometría geom_col().
Mostrar pista
Usa ggplot(df, aes(x = category, y = value)) + geom_col()
Solución disponible después de 3 intentos
Ejercicio 5: Combina múltiples geometrías
En ggplot2 puedes superponer capas geométricas. Crea un gráfico que combine tanto geom_point() como geom_smooth() mapeando x_val en el eje x y y_val en el eje y.
Mostrar pista
Agrega tanto geom_point() como geom_smooth() separados por el signo '+'.
Solución disponible después de 3 intentos