Importación de Datos

En esta sección, cargamos los datos de créditos de Agrobanco del Fondo Agroperú.

Mostrar código
# Cargar librerías necesarias
library(readxl)
library(dplyr)
library(ggplot2)

# Importar los datos
cartera_nueva_fagroperu <- read_excel("cartera_fondo_agroperu.xlsx")

Resumen de la información 1

Agrupamos y resumimos los datos para obtener los montos aprobados y el número de créditos por producto.

Mostrar código
cartera_dni_ruc <- cartera_nueva_fagroperu %>%
  group_by(Producto_TRT) %>%
  summarise(
    Monto_aprobado = sum(`Monto Aprobado`) / 1e6, # Convertir a millones
    Créditos = n(),
    .groups = 'drop'
  ) %>%
  arrange(-Monto_aprobado) %>%
  slice_head(n = 5) # Seleccionar los primeros 5 resultados

cartera_dni_ruc
## # A tibble: 5 × 3
##   Producto_TRT   Monto_aprobado Créditos
##   <chr>                   <dbl>    <int>
## 1 Vacuno - Carne           586.    42646
## 2 Cafe                     476.    31411
## 3 Cacao                    247.    21633
## 4 Papa                     231.    19517
## 5 Arroz                    118.     8290

Visualización del gráfico de barras

Creamos un gráfico de barras atractivo para mostrar los resultados.

Mostrar código
grafico_1 <- ggplot(cartera_dni_ruc, aes(x = reorder(Producto_TRT, -Monto_aprobado), y = Monto_aprobado, fill = Producto_TRT)) +
  # Barras
  geom_bar(stat = "identity", width = 0.7, position = "dodge") +
  
  # Etiquetas de Monto aprobado sobre las barras
  geom_text(aes(label = paste0(round(Monto_aprobado, 1), " mm")), 
            vjust = -0.3, size = 6, fontface = "bold", color = "black") +
  
  # Etiquetas de Créditos dentro de las barras
  geom_text(aes(label = paste(Créditos, "créditos")), 
            vjust = 1.5, size = 4, color = "white", fontface = "bold") +
  
  # Escala de colores personalizada
  scale_fill_manual(values = c("#1f78b4", "#33a02c", "#ff7f00", "#e31a1c", "#6a3d9a")) +
  
  # Títulos y etiquetas
  labs(
    title = "Monto aprobado y número de créditos por tipo de producto (2021-2024)",
    x = "Producto",
    y = "Monto (millones de soles)",
    fill = "Producto"
  ) +
  
  # Tema visual atractivo
  theme_minimal(base_size = 16) +
  theme(
    plot.title = element_text(face = "bold", size = 13, hjust = 0.5),
    axis.title.x = element_text(face = "bold", size = 16),
    axis.title.y = element_text(face = "bold", size = 16),
    axis.text.x = element_text(size = 14, face = "bold"),
    axis.text.y = element_text(size = 14),
    legend.position = "bottom",
    legend.title = element_text(size = 14, face = "bold"),
    legend.text = element_text(size = 12),
    panel.grid.major = element_line(color = "grey85"),
    panel.grid.minor = element_blank()
  ) +
  
  # Ajustar límites del eje y
  ylim(0, max(cartera_dni_ruc$Monto_aprobado) * 1.2) # Espacio extra para las etiquetas
grafico_1

Resumen de la información 2

Agrupamos y resumimos los datos para obtener los montos aprobados y el número de créditos por departamento.

Mostrar código
cartera_dni_ruc <- cartera_nueva_fagroperu %>%
  group_by(Departamento) %>%
  summarise(
    Monto_aprobado = sum(`Monto Aprobado`) / 1e6, # Convertir a millones
    Créditos = n(),
    .groups = 'drop'
  ) %>%
  arrange(-Monto_aprobado) 

cartera_dni_ruc
## # A tibble: 24 × 3
##    Departamento Monto_aprobado Créditos
##    <chr>                 <dbl>    <int>
##  1 PUNO                  389.     26763
##  2 CAJAMARCA             255.     15066
##  3 SAN MARTIN            201.     16117
##  4 AREQUIPA              149.      8581
##  5 JUNIN                 139.     11116
##  6 AYACUCHO              138.     12629
##  7 HUANUCO               106.      9170
##  8 APURIMAC              101.     10301
##  9 PIURA                 100.      7889
## 10 CUSCO                  96.7     8970
## # ℹ 14 more rows

Visualización del gráfico de barras

Creamos un gráfico de barras atractivo para mostrar los resultados de montos aprobados por departamentos.

Mostrar código
grafico_2 <- ggplot(cartera_dni_ruc, aes(x = reorder(Departamento, Monto_aprobado), y = Monto_aprobado, fill = Departamento)) +
  geom_bar(stat = "identity", position = "dodge") +
  geom_text(aes(label = paste0(round(Monto_aprobado, 2), "M")), hjust = -0.3, size = 5, fontface = "bold", position = position_dodge(width = 0.9)) + # Etiqueta de Monto aprobado sobre la barra
  geom_text(aes(label = scales::comma(Créditos)), hjust = 1.5, color = "white", size = 5, fontface = "bold", position = position_dodge(width = 0.9)) + # Etiqueta de Créditos en el medio de la barra
  scale_fill_viridis_d() + # Usar una paleta de colores visualmente atractiva
  coord_flip() + # Voltear el sentido de las barras
  labs(
    title = "Montos Aprobados por Departamento",
    x = "Departamento",
    y = "Monto Aprobado (Millones)",
    fill = "Departamento"
  ) +
  theme_minimal(base_size = 15) + # Aumentar el tamaño base para mejorar la legibilidad
  theme(
    legend.position = "none", # Ocultar la leyenda para no repetir la información
    plot.title = element_text(hjust = 0.5, face = "bold", size = 20),
    axis.title.x = element_text(face = "bold", size = 15),
    axis.title.y = element_text(face = "bold", size = 15),
    axis.text.x = element_text(size = 12),
    axis.text.y = element_text(size = 12),
    panel.grid.major = element_line(color = "grey80"),
    panel.grid.minor = element_blank()
  ) +
  ylim(0, max(cartera_dni_ruc$Monto_aprobado) * 1.1) # Aumentar el límite superior del eje y para que se vean las etiquetas
grafico_2