Datos Depurados

load("creditosFinal.Rdata")
head(creditos2)

Consultas

Consulta 1

  • ¿Qué tipo de productor presenta mayor número (frecuencia absoluta) de créditos)?
table(creditos2$productor)
## 
## Pequeño Mediano  Grande 
##  303788   42852    8744
  • ¿Cuál es la frecuencia relativa de los créditos por productor?
prop.table(table(creditos2$productor))
## 
##    Pequeño    Mediano     Grande 
## 0.85481620 0.12057943 0.02460437
  • Las frecuencias absolutas también pueden ser obtendias a través de la función count(). Por defecto el nombre que le da a la variable que tiene los conteos es “n”, no obstante, se puede cambiar con el argumento “name”:
library(tidyverse)
creditos2 %>% 
  group_by(productor) %>% 
  count(name = "total_creditos") %>% 
  ungroup() %>% 
  mutate(total = sum(total_creditos),
         prop = (total_creditos / total) * 100)
  • Otra forma de obtener las frecuencias absolutas y relativas es la siguiente:
creditos2 %>% 
  group_by(productor) %>% 
  count(name = "total_creditos") %>% 
  ungroup() %>% 
  mutate(prop = total_creditos / nrow(creditos2))

Consulta 2

  • ¿Cuál es el rubro total y promedio de colocación de créditos por tipo de productor?
creditos2 %>% 
  group_by(productor) %>% 
  summarise(numero_creditos = n(),
            total_dinero = sum(colocacion) / 1000000,
            promedio_dinero = mean(colocacion) / 1000000)

Consulta 3

  • ¿Cuál es el rubro total y promedio de colocación de créditos por tipo de productor y género?
creditos2 %>% 
  filter(!genero %in% c("No informado", "No aplica")) %>% 
  group_by(productor, genero) %>% 
  summarise(numero_creditos = n(),
            total_dinero = sum(colocacion) / 1000000,
            promedio_dinero = mean(colocacion) / 1000000)

Consulta 4

  • ¿Cuál es el promedio de plazos y rubro en el departamento de Antioquia, por género (sólo hombres y mujeres) y tipo de productor?
creditos2 %>% 
  filter(depto == "Antioquia") %>% 
  filter(genero %in% c("Hombre", "Mujer")) %>% 
  group_by(productor, genero) %>% 
  summarise(promedio_dinero = mean(colocacion) / 1000000,
            promedio_plazo = mean(plazo))

Consulta 5

  • Obtener una tabla con resumen descriptivo por género (sólo hombres y mujeres) y productor en los departamentos de Antioquia, Valle del Cauca y Atlántico. La tabla estará orientada al monto de créditos y al plazo de los mismos. Conformar la tabla con los siguientes estadísticos descriptivos:
    • Mínimo
    • Máximo
    • Promedio
    • Mediana
    • Desviación estándar
    • Coeficiente de variación = (Desviación estándar / promedio) * 100
    • Percentil 75
    • Número de créditos (n)
    • Participación o porcentaje de créditos por departamento
library(DT)
creditos2 %>% 
  filter(genero %in% c("Hombre", "Mujer")) %>% 
  filter(depto %in% c("Antioquia", "Atlántico", "Valle del Cauca")) %>% 
  group_by(depto, productor, genero) %>% 
  summarise(minimo_dinero = min(colocacion),
            minimo_plazo = min(plazo),
            maximo_dinero = max(colocacion) / 1000000,
            maximo_plazo = max(plazo),
            promedio_dinero = mean(colocacion) / 1000000,
            promedio_plazo = mean(plazo),
            desv_dinero = sd(colocacion) / 1000000,
            desv_plazo = sd(plazo),
            CV_dinero = (desv_dinero / promedio_dinero) * 100,
            CV_plazo = (desv_plazo / promedio_plazo) * 100,
            p75_dinero = quantile(colocacion, probs = 0.75),
            p75_plazo = quantile(plazo, probs = 0.75),
            N = n()) %>% 
  ungroup() %>% 
  group_by(depto) %>% 
  mutate(total_creditos = sum(N)) %>% 
  ungroup() %>% 
  mutate(proporcion = N / total_creditos) %>% 
  datatable(rownames = FALSE,
            options = list(scrollX = TRUE))

Resumen descriptivo rápido

  • R posee la función summary() que permite resumir objetos.
summary(creditos2)
##          mes                 fuente         productor        colocacion       
##  Septiembre:93940   Agropecuaria:  2122   Pequeño:303788   Min.   :6.001e+05  
##  Agosto    :45040   Redescuento :286302   Mediano: 42852   1st Qu.:3.100e+06  
##  Julio     :39102   Sustituta   : 66960   Grande :  8744   Median :6.999e+06  
##  Febrero   :35292                                          Mean   :3.300e+07  
##  Enero     :34671                                          3rd Qu.:1.300e+07  
##  Marzo     :32929                                          Max.   :9.999e+09  
##  (Other)   :74410                                                             
##  postconf             depto                         municipio     
##  No:251320   Boyacá      : 40219   Santafe de bogota d.c.:  6177  
##  Si:104064   Antioquia   : 38371   Pasto                 :  4601  
##              Cundinamarca: 36684   Pitalito              :  3957  
##              Nariño      : 33492   Tunja                 :  3770  
##              Huila       : 26347   Medellin              :  3705  
##              Santander   : 23934   Ipiales               :  3649  
##              (Other)     :156337   (Other)               :329525  
##      plazo                         linea_credito   
##  Min.   :  0.00   Capital de Trabajo      :159961  
##  1st Qu.: 17.00   Inversión               :101985  
##  Median : 36.00   Normalización de Cartera: 93438  
##  Mean   : 40.55                                    
##  3rd Qu.: 60.00                                    
##  Max.   :218.00                                    
##                                                    
##                      linea_prod   
##  Sostenimiento            :98549  
##  Compra de animales       :75258  
##  Siembras                 :74391  
##  Microcrédito             :42275  
##  Producción               :21893  
##  Infraestructura y tierras:15968  
##  (Other)                  :27050  
##                                                                            destino      
##  Capital de trabajo unidad prod campesina                                      : 29583  
##  160000 capital de trabajo - unidad productiva campesina                       : 28113  
##  Capital de trabajo microcredito rural                                         : 24735  
##  253400 vientres bovinos comreciales cría y d. p. - comercial - compra - hembra: 20126  
##  165000 capital de trabajo - microcrédito agropecuario y rural                 : 17540  
##  Vientres bovinos cria y doble proposito                                       : 14490  
##  (Other)                                                                       :220797  
##           genero      
##  Hombre      :223807  
##  Mujer       :118219  
##  No aplica   :   293  
##  No informado:   207  
##  P. Jurídica :  9271  
##  Sociedad    :  3587  
## 
  • Un resumen más completo puede ser obtenido con la biblioteca skimr:
library(skimr)
skim(creditos2)
Data summary
Name creditos2
Number of rows 355384
Number of columns 12
_______________________
Column type frequency:
factor 10
numeric 2
________________________
Group variables None

Variable type: factor

skim_variable n_missing complete_rate ordered n_unique top_counts
mes 0 1 FALSE 9 Sep: 93940, Ago: 45040, Jul: 39102, Feb: 35292
fuente 0 1 FALSE 3 Red: 286302, Sus: 66960, Agr: 2122
productor 0 1 FALSE 3 Peq: 303788, Med: 42852, Gra: 8744
postconf 0 1 FALSE 2 No: 251320, Si: 104064
depto 0 1 FALSE 33 Boy: 40219, Ant: 38371, Cun: 36684, Nar: 33492
municipio 0 1 FALSE 770 San: 6177, Pas: 4601, Pit: 3957, Tun: 3770
linea_credito 0 1 FALSE 3 Cap: 159961, Inv: 101985, Nor: 93438
linea_prod 0 1 FALSE 12 Sos: 98549, Com: 75258, Sie: 74391, Mic: 42275
destino 0 1 FALSE 756 Cap: 29583, 160: 28113, Cap: 24735, 253: 20126
genero 0 1 FALSE 6 Hom: 223807, Muj: 118219, P. : 9271, Soc: 3587

Variable type: numeric

skim_variable n_missing complete_rate mean sd p0 p25 p50 p75 p100 hist
colocacion 0 1 32997824.67 239864418.65 600063 3100000 6999307 1.3e+07 9998807000 ▇▁▁▁▁
plazo 0 1 40.55 29.98 0 17 36 6.0e+01 218 ▇▃▁▁▁

Unión de bases de datos

  • En este ejemplo vamos a unir datos del mercado laboral y créditos agropecuarios. Esta unión se hará por departamento.

Datos créditos

  • Vamos a resumir nuestra base de datos por departamento con la siguiente información:
    • Departamento (identificador)
    • Promedio de rubro (colocación)
    • Total del rubro (colocación)
    • Promedio de plazo de créditos
creditos_deptos <- creditos2 %>% 
  group_by(depto) %>% 
  summarise(rubro_promedio = mean(colocacion),
            rubro_total = sum(colocacion),
            plazo_promedio = mean(plazo)) %>% 
  ungroup()
creditos_deptos

Datos mercado laboral

library(readxl)
library(janitor)
empleo <- read_excel("desempleo.xlsx") %>% 
  clean_names() %>% 
  rename(depto = dominio)
empleo

Unión de datos

  • En este caso vamos a utilizar la función inner_join(). Esta función mantendrá sólo los departamentos que coincidan en ambas bases de datos.
  • El identificador común es el departamento (“depto”). Es importante que los niveles (nombre de departamentos) del identificador estén iguales en ambas bases de datos.
creditos_empleo <- inner_join(x = creditos_deptos, y = empleo, by = "depto")
creditos_empleo
  • ¿Cuál es la correlación entre la tasa global de participación (tgp) y el rubro total de créditos?
cor(creditos_empleo$tgp, creditos_empleo$rubro_total)
## [1] 0.4320848

Funciones join