| industry | avg_gap |
|---|---|
| Retail | 8209 |
| Services | 12158 |
| Manufacturing | 8861 |
| Technology | 17238 |
Capacitación en R
Brecha promedio de IVA por industria:
Como una Tabla:
| industry | avg_gap |
|---|---|
| Retail | 8209 |
| Services | 12158 |
| Manufacturing | 8861 |
| Technology | 17238 |
Como Números:
| min | mean | max |
|---|---|---|
| -84038 | 11411 | 125974 |
¿Cuál cuenta la historia instantáneamente?
Ahora vemos instantáneamente: ¡Manufactura tiene la brecha promedio más alta!
Para administración tributaria:
Note
Una buena visualización responde una pregunta inmediatamente
Tres reglas:
❌ Malo: - Gráficos 3D - Colores arcoíris sin significado - Ordenamiento alfabético
✓ Bueno: - Gráficos simples y claros - Colores significativos - Ordenado por valor
Fuente: ActiveWizards
Enfoque de hoy: Gráficos de barras, gráficos de líneas, gráficos de dispersión
La mayoría de herramientas: “Hazme un gráfico de barras”
ggplot2: Construir gráficos capa por capa con una gramática sistemática
Note
Si entiendes la gramática, puedes crear CUALQUIER gráfico
Tres componentes esenciales:
Cada gráfico sigue este patrón:
Ejemplo:
Important
¡Nota el + al final de la primera línea - esto conecta las capas!
Paso 1: Decirle a ggplot qué datos
Caja gris vacía - ggplot está listo pero no sabe qué graficar
Paso 2: Mapear variables a x e y
¡Ahora tenemos ejes, pero aún no hay datos!
Paso 3: Agregar formas geométricas
¡Gráfico completo! 🎉
Las estéticas mapean tus datos a propiedades visuales
Tres estéticas principales que usarás:
La base de cada gráfico:
La posición indica: Qué empresa tiene qué valores
El color puede mostrar categorías:
Ahora vemos: Empresas grandes (naranja) se agrupan en la parte superior derecha
Diferentes geoms usan diferentes estéticas:
color - para puntos y líneas:

Usa color para geom_point() y geom_line()
Las barras pueden tener tanto fill (interior) como color (borde):
Tip
Regla rápida: Los puntos usan color, las barras usan fill
Las variables van dentro de aes(), los valores fijos van fuera:
# ✓ CORRECTO: color por una variable en tus datos
ggplot(data, aes(x = var1, y = var2, color = firm_size))
# ✓ CORRECTO: hacer todos los puntos azules
ggplot(data, aes(x = var1, y = var2)) +
geom_point(color = "blue")
# ❌ INCORRECTO: "blue" no es un nombre de variable
ggplot(data, aes(x = var1, y = var2, color = "blue"))Important
Si está en tus datos → usa aes()
Si es una elección fija → fuera de aes()
Respuesta: ¡Solo C es correcto!
aes()industry debería estar dentro de aes()Mejor para: Comparar valores entre categorías
En administración tributaria: - IVA total por industria - Número de auditorías por región - Tasas de cumplimiento por sector
Problema: Difícil leer etiquetas verticales
¡Mucho mejor! coord_flip() rota el gráfico
reorder(industry, total_vat) ordena industrias por monto de IVA
10:00 Tarea: Crear un gráfico de barras agrupadas mostrando recaudación de IVA por industria y tamaño de empresa
Pasos:
actual_vat por industry Y firm_sizeindustry en eje x, total_vat en eje yfill = firm_size para colorear barras por tamaño de empresaposition = "dodge" para hacer barras lado a ladocoord_flip()theme_minimal()Pregunta: ¿Qué combinación (industria + tamaño de empresa) recauda más IVA?
Cuando tienes DOS variables categóricas:
Crear barras lado a lado con position = "dodge":
Mostrar total Y desglose con barras apiladas:
ggplot(industry_size, aes(x = reorder(industry, total_vat), y = total_vat, fill = firm_size)) +
geom_bar(stat = "identity", position = "stack") + # position = "stack" es predeterminado
coord_flip() +
labs(
title = "Recaudación de IVA por Industria (por Tamaño de Empresa)",
x = NULL,
y = "IVA Total (Millones USD)",
fill = "Tamaño Empresa"
) +
scale_fill_brewer(palette = "Set2") +
theme_minimal()Cada barra muestra el total, los colores muestran la contribución de cada tamaño de empresa
Usa Barras Agrupadas cuando:
Ejemplo: Comparar empresas pequeñas vs grandes a través de industrias
Usa Barras Apiladas cuando:
Ejemplo: IVA total con desglose por tamaño de empresa
Warning
¡Evita apilar al comparar valores - difícil leer segmentos medios/superiores!
Mejor para: Mostrar relaciones entre dos variables continuas
En administración tributaria: - IVA esperado vs real (cumplimiento) - Tamaño de empresa vs obligación tributaria - Inputs vs outputs
Muestra la relación entre IVA esperado y real
Ahora vemos: El patrón difiere por tamaño de empresa
La línea roja muestra cumplimiento perfecto (real = esperado)
geom_smooth(method = "lm") agrega línea de tendencia lineal
08:00 Tarea: Crear un gráfico de dispersión de inputs vs outputs de IVA
Pasos:
vat_gap_analysisvat_inputs al eje x, vat_outputs al eje ygeom_point() con color por industrygeom_abline(intercept = 0, slope = 1)Pregunta: ¿Qué representa la línea de referencia?
Mejor para: Mostrar tendencias en el tiempo
En administración tributaria: - Recaudación mensual de IVA - Tasas de cumplimiento a través de años - Tendencias trimestrales por sector
Mejor práctica: Agregar geom_point() para mostrar puntos de datos reales
¡El color crea automáticamente líneas separadas para cada grupo!
08:00 Tarea: Crear un gráfico de líneas mostrando brecha promedio de IVA en el tiempo
Pasos:
vat_gap por yeargeom_line() y geom_point()year al eje x, brecha promedio al eje ytheme_minimal()Pregunta: ¿La brecha de IVA está aumentando o disminuyendo?
Cuando tienes muchas categorías, las facetas son mejores que el color:
¡Cada industria obtiene su propio panel - mucho más claro!
ncol = 3 controla el número de columnas
Usa facetas cuando:
Sintaxis:
10:00 Tarea: Crear gráficos de dispersión con facetas por industria
Pasos:
taxable_income vs actual_vatgeom_point()facet_wrap(~ industry)geom_smooth(method = "lm")Siempre incluir:
ggplot(vat_gap_analysis[1:100], aes(x = expected_vat/1000, y = actual_vat/1000)) +
geom_point(aes(color = firm_size)) +
labs(
title = "Cumplimiento de IVA por Tamaño de Empresa",
subtitle = "Años Fiscales 2021-2023",
x = "IVA Esperado (Miles USD)",
y = "IVA Real (Miles USD)",
color = "Tamaño Empresa",
caption = "Fuente: Base de Datos de Administración Tributaria"
) +
theme_minimal()Tema recomendado para informes:
theme_minimal() da una apariencia limpia y moderna
Paletas ColorBrewer: “Set1”, “Set2”, “Dark2” son buenas predeterminadas
# Primero, crear y guardar gráfico en objeto
my_plot <- ggplot(vat_gap_analysis, aes(x = expected_vat, y = actual_vat)) +
geom_point() +
theme_minimal()
# Guardar como PNG para presentaciones
ggsave(
filename = "cumplimiento_iva.png",
plot = my_plot,
width = 10,
height = 6,
dpi = 300
)
# Guardar como PDF para informes
ggsave("cumplimiento_iva.pdf", plot = my_plot, width = 10, height = 6)Antes de compartir cualquier visualización:
theme_minimal())20:00 Tarea: Crear tres gráficos profesionales para un informe tributario
Crear:
Todos los gráficos deben tener: - Títulos y etiquetas apropiados - theme_minimal() - Colores profesionales - Caption con fuente de datos
Guardar los tres como archivos PNG (300 dpi)
Conceptos centrales: - Cuándo usar gráficos de barras, dispersión y líneas - La plantilla de ggplot2: ggplot() + aes() + geom_*() - Mapear datos a estéticas (x, y, color, fill) - Fill vs color: los puntos usan color, las barras usan fill - La regla de aes(): variables adentro, valores fijos afuera
Habilidades prácticas: - Crear visualizaciones profesionales - Barras agrupadas y apiladas para múltiples categorías - Agregar etiquetas y temas - Usar facetas para múltiples grupos - Guardar gráficos de alta calidad
⚠️ Olvidar el +
⚠️ Uso incorrecto de aes() - Variables → dentro de aes() - Valores fijos → fuera de aes()
Gráfico de barras:
# Gráfico de barras simple
ggplot(data, aes(x = category, y = value)) +
geom_bar(stat = "identity", fill = "blue") +
coord_flip()
# Barras agrupadas
ggplot(data, aes(x = category, y = value, fill = group)) +
geom_bar(stat = "identity", position = "dodge") +
coord_flip()
# Barras apiladas
ggplot(data, aes(x = category, y = value, fill = group)) +
geom_bar(stat = "identity", position = "stack") +
coord_flip()Gráfico de dispersión:
Gráfico de líneas:
Recuerda: Los puntos usan color, las barras usan fill
Documentación: - R para Ciencia de Datos - Capítulo 2 - Hoja de Referencia ggplot2
Ejemplos: - Galería de Gráficos R
Tip
Cuando te atasques: Busca en Google “ggplot cómo…” - ¡casi siempre hay un ejemplo!
Ahora puedes: - Elegir el tipo de gráfico correcto para tu pregunta - Crear visualizaciones tributarias profesionales - Comunicar insights de datos efectivamente
La práctica hace al maestro: - Prueba estas técnicas con tus propios datos - Comienza simple, agrega complejidad gradualmente - Comparte gráficos con colegas para retroalimentación
¿Preguntas?