{ggplot2}Módulo 6 - Organización del trabajo + visualización de datos + TP integrador
2026-03-10
✅ La EPH: qué mide, cómo se estructura
✅ Conceptos básicos de R: valores, vectores, funciones, objetos
✅ Tidyverse: paquetes, importación, select(), filter()
✅ mutate(), case_when(), summarise(), group_by()
📁 Proyectos de R - Organizar la mesa de trabajo
📊 ggplot2 - Visualización de datos
🎯 TP integrador - Consigna del trabajo final
🏁 ¡Último encuentro del curso!
Un proyecto de RStudio define una carpeta como directorio de trabajo.
Esto significa que las rutas de archivos se vuelven relativas a esa carpeta.
Ya no necesitamos rutas completas. Solo indicamos la ruta dentro del proyecto.
File → New Project → New Directory → New Project
Antes (sin proyecto - ruta absoluta)
Más corto, más portable, más reproducible.
datos y guardar ahí la base de la EPH“La visualización es el proceso de hacer visibles los contrastes, ritmos y eventos que los datos expresan, que no podemos percibir cuando vienen en forma de áridas listas de números.”
{ggplot2}{ggplot2}?{ggplot2}?themes para pulir la aparienciaeph_ind |>
filter(ESTADO %in% c(1, 2, 3)) |>
mutate(actividad = case_when(
ESTADO == 1 ~ "Ocupado",
ESTADO == 2 ~ "Desocupado",
ESTADO == 3 ~ "Inactivo"
)) |>
summarise(cantidad = n(), .by = actividad) |>
ggplot(aes(x = actividad, y = cantidad)) +
geom_col(aes(fill = actividad)) +
geom_text(aes(label = scales::number(cantidad, big.mark = ".")),
vjust = -0.5, size = 4) +
geom_hline(yintercept = 0) +
labs(title = "Población por condición de actividad",
subtitle = "EPH - T1 2024",
x = "",
y = "Cantidad de personas",
caption = "Fuente: Elaboración propia en base a EPH-INDEC",
fill = "Condición") +
theme_minimal() +
theme(legend.position = "none")3 capas son indispensables:
data =): el dataframe de insumoaes()): vínculo entre datos y propiedades visuales (ejes x, y)geom_*()): la forma con que se representan los datosUsamos todo lo aprendido en las clases anteriores:
filter(),mutate(),case_when(),summarise().
labs()theme)ggplot(data = df_actividad,
aes(x = actividad, y = cantidad)) +
geom_col(aes(fill = actividad),
color = "black") +
labs(title = "Población por condición de actividad",
subtitle = "EPH - T1 2024",
x = "",
y = "Cantidad de personas",
caption = "Fuente: EPH-INDEC") +
theme_minimal() +
theme(legend.position = "none"){ggplot2}P21) de la población ocupada (ESTADO == 1) con ingreso positivo (P21 > 0), por sexo (CH04). Recordar recodificar sexo con case_when().geom_col()) con el ingreso promedio en el eje y y el sexo en el eje x.theme_minimal().REGION). Tip: usar fill = factor(REGION) dentro de aes().df_ingreso_sexo <- eph_ind |>
filter(ESTADO == 1, P21 > 0) |>
mutate(sexo = case_when(CH04 == 1 ~ "Varón",
CH04 == 2 ~ "Mujer")) |>
summarise(ingreso_promedio = mean(P21), .by = sexo)
ggplot(data = df_ingreso_sexo,
aes(x = sexo, y = ingreso_promedio)) +
geom_col(aes(fill = sexo), color = "black") +
labs(title = "Ingreso promedio por sexo",
subtitle = "Población ocupada - EPH T1 2024",
x = "", y = "Ingreso promedio ($)",
caption = "Fuente: EPH-INDEC") +
theme_minimal() +
theme(legend.position = "none")Tema: Ejercicio de análisis con tema libre. Pueden usar la EPH u otra base de datos propia.
Eje: Plantear una pregunta sencilla sobre el tema elegido y responderla con datos.
Contenido esperado:
filter, select, mutate, summarise)ggplot2 (opcional, suma puntos)📂 Enviar un proyecto de RStudio completo (carpeta con subcarpetas y archivos)
📄 Que contenga un script de R (.R) con el código del análisis
☁️ Subir a Google Drive (u otro servicio) y compartir el link
📧 Enviar a: pablotiscornia@estacion-r.com
📅 Fecha de entrega: Martes 8 de abril de 2026
✅ Conocer la EPH y sus datos
✅ Bases de R: objetos, funciones, vectores
✅ Tidyverse completo: importar, filtrar, seleccionar, transformar, resumir
✅ Proyectos de RStudio para organizar el trabajo
✅ Visualización de datos con ggplot2
📧 pablotiscornia@estacion-r.com
Recuerden: el Slack queda abierto para consultas sobre el TP. Fecha de entrega: 8 de abril de 2026.