PAQUETES NECESARIOS
knitr::opts_chunk$set(
echo = TRUE,
fig.height = 10,
fig.width = 15,
message = FALSE,
warning = FALSE,
cache = TRUE
)
library(here)
## here() starts at /Users/wilberthgonzalezvargas/Desktop/Master en Ciencia de Datos/Trabajo_Final/Proyecto_Final_Wilberth_Gonzalez
library(readr)
library(tidyr)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(dummy)
## dummy 0.1.3
## dummyNews()
library(ggplot2)
library(ggforce)
library(factoextra)
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
library(FactoMineR)
library(cluster)
library(fmsb)
library(car)
## Loading required package: carData
##
## Attaching package: 'car'
## The following object is masked from 'package:dplyr':
##
## recode
#library(devtools)
library(sf)
## Linking to GEOS 3.13.0, GDAL 3.8.5, PROJ 9.5.1; sf_use_s2() is TRUE
library(scales)
##
## Attaching package: 'scales'
## The following object is masked from 'package:readr':
##
## col_factor
library(ggrepel)
library(visNetwork)
library(igraph)
##
## Attaching package: 'igraph'
## The following objects are masked from 'package:dplyr':
##
## as_data_frame, groups, union
## The following object is masked from 'package:tidyr':
##
## crossing
## The following objects are masked from 'package:stats':
##
## decompose, spectrum
## The following object is masked from 'package:base':
##
## union
library(fastDummies)
library(stringr)
library(knitr)
library(umap)
set.seed(123)
FUNCIONES NECESARIAS
LETRAS MAYUSCULAS
to_upper <- function(x) toupper(chartr("áéíóúÁÉÍÓÚ", "aeiouAEIOU", x))
DATOS CARTERA
DATOS
Cartera_Credito = read.csv("CarteraCreditoDiciembre2022.DEL", sep = ";", dec = ".", header = T)
Cartera_Credito$NUMERO_OPERACION <- seq_len(nrow(Cartera_Credito))
Cartera_Credito$NOMBRE <- NULL
head(Cartera_Credito[, !names(Cartera_Credito) %in% c("CEDULA")])
## NUMERO_OPERACION FECHA_FORMALIZACION FECHA_VENCIMIENTO TIPO_SOCIO
## 1 1 2018-02-09 2026-09-04 PENSIONADO JUPEMA
## 2 2 2018-08-24 2029-01-04 PENSIONADO JUPEMA
## 3 3 2000-10-30 2024-10-01 PENSIONADO JUPEMA
## 4 4 2016-07-26 2023-02-04 PENSIONADO JUPEMA
## 5 5 2020-04-29 2032-09-04 PENSIONADO JUPEMA
## 6 6 2016-08-11 2023-03-04 PENSIONADO JUPEMA
## DESCRIPCION_PRESTAMO SUB_TIPO_PRESTAMO DIAS_MOROSOS INTERES_ACTUAL
## 1 CORRIENTE 0 0 11.00
## 2 PERSONAL ALTERNATIVO 0 0 14.85
## 3 TARJETA CREDITO CHIP-INTER. 0 0 16.80
## 4 CORRIENTE 0 0 11.00
## 5 ESPECIAL EXTRAORDINARIO 0 0 11.00
## 6 CORRIENTE 0 0 11.00
## SALDO_PRESTAMO CATEGORIA_RIESGO PLAZO_OPERACION SECTOR_ECONOMICO
## 1 750214.45 A1 102 PERSONAL
## 2 9288877.15 A1 124 PERSONAL
## 3 500.54 A1 84 PERSONAL
## 4 120167.75 A1 78 PERSONAL ESPECIAL
## 5 13402117.75 A1 148 CANCELACI\xd3N DEUDAS
## 6 77973.90 A1 78 PERSONAL
## CUOTA_AUX TIPO_TASA MONTO_ESTIMACION GARANTIA VALOR_GARANTIA
## 1 20421 FIJA 3780.87 POLIZA S.S.V.M.N. 1300000
## 2 193993 VARIABLE 46942.50 SEGURO CAUCION 12000000
## 3 900 VARIABLE 2.50 CONTRATO 902985
## 4 60909 FIJA 605.61 POLIZA S.S.V.M.N. 3200000
## 5 187227 FIJA 67542.95 SEGURO CAUCION 14885000
## 6 26457 FIJA 392.97 POLIZA S.S.V.M.N. 1390000
## SALDO_PRODUCTOS SALARIO_LIQUIDO SALARIO_NOMINAL LUGAR_DEDUC_PRINCIPAL
## 1 5960.05 271058.9 487677.1 INTEGRA
## 2 99623.20 437719.7 704362.3 INTEGRA
## 3 0.00 373413.6 547520.0 INTEGRA
## 4 954.65 315291.4 512035.0 INTEGRA
## 5 106472.40 519070.3 991084.6 INTEGRA
## 6 619.45 174946.0 1004376.0 INTEGRA
## SEX FECHA_NACIMIENTO ESTADO_CIVIL CONDICION_PLAZA OFICINA_TRAMITE
## 1 FEMENINO 1920-07-20 VIUDO PROPIEDAD OFICINA CENTRAL
## 2 FEMENINO 1923-01-16 VIUDO PROPIEDAD OFICINA CENTRAL
## 3 FEMENINO 1924-03-11 CASADO PROPIEDAD OFICINA CENTRAL
## 4 MASCULINO 1925-04-28 CASADO PROPIEDAD OFICINA CENTRAL
## 5 FEMENINO 1926-10-04 VIUDO PROPIEDAD OFICINA CENTRAL
## 6 FEMENINO 1926-12-26 VIUDO PROPIEDAD OFICINA CENTRAL
## ESTIMA_GENER_DIREC ESTIMA_GENER_CONTI ESTIMA_ESPEC_DI_PC ESTIMA_ESPEC_DI_PD
## 1 3780.87 0 0 0
## 2 46942.50 0 0 0
## 3 2.50 0 0 0
## 4 605.61 0 0 0
## 5 67542.95 0 0 0
## 6 392.97 0 0 0
## ESTIMA_ESPEC_CO_PC ESTIMA_ESPEC_CO_PD ESTIMA_CSD ESTIMA_NO_GENERADORA
## 1 0 0 7561.75 0
## 2 0 0 93885.00 0
## 3 0 0 0.00 0
## 4 0 0 0.00 0
## 5 0 0 0.00 0
## 6 0 0 0.00 0
## COMPROMISO_SAL IND_COMP_PAGO CAPACIDAD_PAGO FECHA_CAMBIO_TASA
## 1 0.44 1 1 2018-04-01
## 2 0.37 1 1 2022-11-01
## 3 0.31 1 1
## 4 0.38 1 1 2016-08-01
## 5 0.47 1 1 2021-11-01
## 6 0.82 1 1 2016-09-01
## FRECUENCIA_INTERES_VARIABLE PARA_INT_VAR COMPONENTE_VARIABLE_INTERES
## 1 0 0 1.0
## 2 4 4 8.0
## 3 4 4 16.8
## 4 0 0 1.0
## 5 0 0 57.0
## 6 0 0 1.0
## COMPONENTE_FIJO_INTERES LIMITE_INFERIOR_TASA LIMITE_SUPERIOR_TASA
## 1 0 11.0 11.0
## 2 9 14.0 23.0
## 3 0 16.8 26.8
## 4 0 11.0 11.0
## 5 0 0.0 0.0
## 6 0 11.0 11.0
## SALARIO_COMPROMETIDO SALARIO_NOM_AJUSTADO PORCENTAJE_COMPROMETIDO
## 1 123809 367765.7 33.66
## 2 401286 635799.7 63.11
## 3 26500 411613.6 6.00
## 4 0 0.0 0.00
## 5 242232 810331.4 29.89
## 6 84566 259797.0 32.00
## ESTADO_OPERACION ESTADO_OPERACION_CREDITICIA OPER_CON_PRORROGA
## 1 AL D\xcdA 1 N
## 2 AL D\xcdA 1 N
## 3 AL D\xcdA 1 N
## 4 AL D\xcdA 1 N
## 5 AL D\xcdA 1 N
## 6 AL D\xcdA 1 N
## LUGAR_DEDUC_PREST MONTO_DESEMBOLSAR_615 MONTO_DESEMBOLSAR_619
## 1 INTEGRA 0.0 0
## 2 INTEGRA 0.0 0
## 3 INTEGRA 902484.5 0
## 4 INTEGRA 0.0 0
## 5 INTEGRA 0.0 0
## 6 INTEGRA 0.0 0
EXPLORACION Y VERIFICACION
#DIMENSIÓN DE LA TABLA ORIGINAL
dim(Cartera_Credito)
## [1] 214700 55
#REALIZO UN STR PARA DETERMINAR EL FORMATO DE LAS VARIABLES ORIGINALES
str(Cartera_Credito[, !names(Cartera_Credito) %in% c("CEDULA")])
## 'data.frame': 214700 obs. of 53 variables:
## $ NUMERO_OPERACION : int 1 2 3 4 5 6 7 8 9 10 ...
## $ FECHA_FORMALIZACION : chr "2018-02-09" "2018-08-24" "2000-10-30" "2016-07-26" ...
## $ FECHA_VENCIMIENTO : chr "2026-09-04" "2029-01-04" "2024-10-01" "2023-02-04" ...
## $ TIPO_SOCIO : chr "PENSIONADO JUPEMA" "PENSIONADO JUPEMA" "PENSIONADO JUPEMA" "PENSIONADO JUPEMA" ...
## $ DESCRIPCION_PRESTAMO : chr "CORRIENTE" "PERSONAL ALTERNATIVO" "TARJETA CREDITO CHIP-INTER." "CORRIENTE" ...
## $ SUB_TIPO_PRESTAMO : int 0 0 0 0 0 0 0 0 0 0 ...
## $ DIAS_MOROSOS : int 0 0 0 0 0 0 0 0 0 0 ...
## $ INTERES_ACTUAL : num 11 14.8 16.8 11 11 ...
## $ SALDO_PRESTAMO : num 750214 9288877 501 120168 13402118 ...
## $ CATEGORIA_RIESGO : chr "A1" "A1" "A1" "A1" ...
## $ PLAZO_OPERACION : int 102 124 84 78 148 78 101 99 123 63 ...
## $ SECTOR_ECONOMICO : chr "PERSONAL" "PERSONAL" "PERSONAL" "PERSONAL ESPECIAL" ...
## $ CUOTA_AUX : num 20421 193993 900 60909 187227 ...
## $ TIPO_TASA : chr "FIJA" "VARIABLE" "VARIABLE" "FIJA" ...
## $ MONTO_ESTIMACION : num 3780.9 46942.5 2.5 605.6 67542.9 ...
## $ GARANTIA : chr "POLIZA S.S.V.M.N." "SEGURO CAUCION" "CONTRATO" "POLIZA S.S.V.M.N." ...
## $ VALOR_GARANTIA : num 1300000 12000000 902985 3200000 14885000 ...
## $ SALDO_PRODUCTOS : num 5960 99623 0 955 106472 ...
## $ SALARIO_LIQUIDO : num 271059 437720 373414 315291 519070 ...
## $ SALARIO_NOMINAL : num 487677 704362 547520 512035 991085 ...
## $ LUGAR_DEDUC_PRINCIPAL : chr "INTEGRA" "INTEGRA" "INTEGRA" "INTEGRA" ...
## $ SEX : chr "FEMENINO" "FEMENINO" "FEMENINO" "MASCULINO" ...
## $ FECHA_NACIMIENTO : chr "1920-07-20" "1923-01-16" "1924-03-11" "1925-04-28" ...
## $ ESTADO_CIVIL : chr "VIUDO" "VIUDO" "CASADO" "CASADO" ...
## $ CONDICION_PLAZA : chr "PROPIEDAD" "PROPIEDAD" "PROPIEDAD" "PROPIEDAD" ...
## $ OFICINA_TRAMITE : chr "OFICINA CENTRAL" "OFICINA CENTRAL" "OFICINA CENTRAL" "OFICINA CENTRAL" ...
## $ ESTIMA_GENER_DIREC : num 3780.9 46942.5 2.5 605.6 67542.9 ...
## $ ESTIMA_GENER_CONTI : num 0 0 0 0 0 0 0 0 0 0 ...
## $ ESTIMA_ESPEC_DI_PC : num 0 0 0 0 0 0 0 0 0 0 ...
## $ ESTIMA_ESPEC_DI_PD : num 0 0 0 0 0 0 0 0 0 0 ...
## $ ESTIMA_ESPEC_CO_PC : num 0 0 0 0 0 0 0 0 0 0 ...
## $ ESTIMA_ESPEC_CO_PD : num 0 0 0 0 0 0 0 0 0 0 ...
## $ ESTIMA_CSD : num 7562 93885 0 0 0 ...
## $ ESTIMA_NO_GENERADORA : num 0 0 0 0 0 0 0 0 0 0 ...
## $ COMPROMISO_SAL : num 0.44 0.37 0.31 0.38 0.47 0.82 0.19 0.69 0.69 0.69 ...
## $ IND_COMP_PAGO : int 1 1 1 1 1 1 1 1 1 1 ...
## $ CAPACIDAD_PAGO : num 1 1 1 1 1 1 1 1 1 1 ...
## $ FECHA_CAMBIO_TASA : chr "2018-04-01" "2022-11-01" "" "2016-08-01" ...
## $ FRECUENCIA_INTERES_VARIABLE: num 0 4 4 0 0 0 0 0 4 0 ...
## $ PARA_INT_VAR : num 0 4 4 0 0 0 0 0 4 0 ...
## $ COMPONENTE_VARIABLE_INTERES: num 1 8 16.8 1 57 1 1 57 8 10 ...
## $ COMPONENTE_FIJO_INTERES : num 0 9 0 0 0 0 0 0 9 0 ...
## $ LIMITE_INFERIOR_TASA : num 11 14 16.8 11 0 11 11 0 14 0 ...
## $ LIMITE_SUPERIOR_TASA : num 11 23 26.8 11 0 11 11 0 23 0 ...
## $ SALARIO_COMPROMETIDO : num 123809 401286 26500 0 242232 ...
## $ SALARIO_NOM_AJUSTADO : num 367766 635800 411614 0 810331 ...
## $ PORCENTAJE_COMPROMETIDO : num 33.7 63.1 6 0 29.9 ...
## $ ESTADO_OPERACION : chr "AL D\xcdA" "AL D\xcdA" "AL D\xcdA" "AL D\xcdA" ...
## $ ESTADO_OPERACION_CREDITICIA: int 1 1 1 1 1 1 1 1 1 1 ...
## $ OPER_CON_PRORROGA : chr "N" "N" "N" "N" ...
## $ LUGAR_DEDUC_PREST : chr "INTEGRA" "INTEGRA" "INTEGRA" "INTEGRA" ...
## $ MONTO_DESEMBOLSAR_615 : num 0 0 902484 0 0 ...
## $ MONTO_DESEMBOLSAR_619 : num 0 0 0 0 0 0 0 0 0 0 ...
#ESTADISTICAS BASICAS DE LA TABLA ORIGINAL
summary(Cartera_Credito[, !names(Cartera_Credito) %in% c("CEDULA")])
## NUMERO_OPERACION FECHA_FORMALIZACION FECHA_VENCIMIENTO TIPO_SOCIO
## Min. : 1 Length:214700 Length:214700 Length:214700
## 1st Qu.: 53676 Class :character Class :character Class :character
## Median :107350 Mode :character Mode :character Mode :character
## Mean :107350
## 3rd Qu.:161025
## Max. :214700
## DESCRIPCION_PRESTAMO SUB_TIPO_PRESTAMO DIAS_MOROSOS INTERES_ACTUAL
## Length:214700 Min. :0 Min. : 0.00 Min. : 5.00
## Class :character 1st Qu.:0 1st Qu.: 0.00 1st Qu.:10.00
## Mode :character Median :0 Median : 0.00 Median :11.00
## Mean :0 Mean : 4.79 Mean :11.54
## 3rd Qu.:0 3rd Qu.: 0.00 3rd Qu.:11.15
## Max. :0 Max. :3497.00 Max. :18.00
## SALDO_PRESTAMO CATEGORIA_RIESGO PLAZO_OPERACION SECTOR_ECONOMICO
## Min. : 0 Length:214700 Min. : 2.0 Length:214700
## 1st Qu.: 812234 Class :character 1st Qu.: 84.0 Class :character
## Median : 2565817 Mode :character Median :100.0 Mode :character
## Mean : 5182545 Mean :108.8
## 3rd Qu.: 6697152 3rd Qu.:123.0
## Max. :93469728 Max. :367.0
## CUOTA_AUX TIPO_TASA MONTO_ESTIMACION GARANTIA
## Min. : 0 Length:214700 Min. : 0 Length:214700
## 1st Qu.: 21918 Class :character 1st Qu.: 5243 Class :character
## Median : 56305 Mode :character Median : 18716 Mode :character
## Mean : 87202 Mean : 148778
## 3rd Qu.: 129994 3rd Qu.: 52585
## Max. :1694104 Max. :44737180
## VALOR_GARANTIA SALDO_PRODUCTOS SALARIO_LIQUIDO SALARIO_NOMINAL
## Min. : 5000 Min. : 0 Min. : 0 Min. : 0
## 1st Qu.: 1225000 1st Qu.: 4741 1st Qu.: 209218 1st Qu.: 769446
## Median : 3600000 Median : 20132 Median : 352827 Median : 1139205
## Mean : 6577111 Mean : 47322 Mean : 384565 Mean : 1105471
## 3rd Qu.: 9200000 3rd Qu.: 58555 3rd Qu.: 526116 3rd Qu.: 1400858
## Max. :94316000 Max. :3559562 Max. :5663526 Max. :12790003
## LUGAR_DEDUC_PRINCIPAL SEX FECHA_NACIMIENTO ESTADO_CIVIL
## Length:214700 Length:214700 Length:214700 Length:214700
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
## CONDICION_PLAZA OFICINA_TRAMITE ESTIMA_GENER_DIREC ESTIMA_GENER_CONTI
## Length:214700 Length:214700 Min. : 0 Min. : 0.00
## Class :character Class :character 1st Qu.: 1300 1st Qu.: 0.00
## Mode :character Mode :character Median : 8318 Median : 0.00
## Mean : 21633 Mean : 13.95
## 3rd Qu.: 28311 3rd Qu.: 0.00
## Max. :470386 Max. :142908.25
## ESTIMA_ESPEC_DI_PC ESTIMA_ESPEC_DI_PD ESTIMA_ESPEC_CO_PC ESTIMA_ESPEC_CO_PD
## Min. : 0.0 Min. : 0 Min. : 0.000 Min. :0
## 1st Qu.: 0.0 1st Qu.: 0 1st Qu.: 0.000 1st Qu.:0
## Median : 0.0 Median : 0 Median : 0.000 Median :0
## Mean : 990.5 Mean : 137879 Mean : 0.027 Mean :0
## 3rd Qu.: 0.0 3rd Qu.: 0 3rd Qu.: 0.000 3rd Qu.:0
## Max. :390058.0 Max. :44737180 Max. :5775.000 Max. :0
## ESTIMA_CSD ESTIMA_NO_GENERADORA COMPROMISO_SAL IND_COMP_PAGO
## Min. : 0 Min. :0 Min. :0.0000 Min. :1.000
## 1st Qu.: 0 1st Qu.:0 1st Qu.:0.4900 1st Qu.:1.000
## Median : 0 Median :0 Median :0.6600 Median :1.000
## Mean : 30227 Mean :0 Mean :0.6341 Mean :1.091
## 3rd Qu.: 34046 3rd Qu.:0 3rd Qu.:0.7800 3rd Qu.:1.000
## Max. :940773 Max. :0 Max. :1.0000 Max. :3.000
## CAPACIDAD_PAGO FECHA_CAMBIO_TASA FRECUENCIA_INTERES_VARIABLE PARA_INT_VAR
## Min. :1.000 Length:214700 Min. :0.000 Min. :0.000
## 1st Qu.:1.000 Class :character 1st Qu.:0.000 1st Qu.:0.000
## Median :1.000 Mode :character Median :0.000 Median :0.000
## Mean :1.123 Mean :1.288 Mean :1.184
## 3rd Qu.:1.000 3rd Qu.:4.000 3rd Qu.:4.000
## Max. :4.000 Max. :9.000 Max. :4.000
## COMPONENTE_VARIABLE_INTERES COMPONENTE_FIJO_INTERES LIMITE_INFERIOR_TASA
## Min. : 1.0 Min. :0.00 Min. : 0.000
## 1st Qu.: 1.0 1st Qu.:0.00 1st Qu.: 0.000
## Median : 8.0 Median :0.00 Median :11.000
## Mean : 25.6 Mean :1.39 Mean : 7.884
## 3rd Qu.: 57.0 3rd Qu.:0.00 3rd Qu.:11.000
## Max. :173.0 Max. :9.00 Max. :16.800
## LIMITE_SUPERIOR_TASA SALARIO_COMPROMETIDO SALARIO_NOM_AJUSTADO
## Min. : 0.00 Min. : 0 Min. : 0
## 1st Qu.: 0.00 1st Qu.: 126122 1st Qu.: 416303
## Median :11.00 Median : 267644 Median : 648579
## Mean :10.15 Mean : 306650 Mean : 647223
## 3rd Qu.:14.00 3rd Qu.: 447315 3rd Qu.: 851393
## Max. :26.80 Max. :2743455 Max. :5852026
## PORCENTAJE_COMPROMETIDO ESTADO_OPERACION ESTADO_OPERACION_CREDITICIA
## Min. : 0 Length:214700 Min. :1.000
## 1st Qu.: 24 Class :character 1st Qu.:1.000
## Median : 48 Mode :character Median :1.000
## Mean : 4484 Mean :1.082
## 3rd Qu.: 71 3rd Qu.:1.000
## Max. :66528661 Max. :5.000
## OPER_CON_PRORROGA LUGAR_DEDUC_PREST MONTO_DESEMBOLSAR_615
## Length:214700 Length:214700 Min. : 0
## Class :character Class :character 1st Qu.: 0
## Mode :character Mode :character Median : 0
## Mean : 62348
## 3rd Qu.: 0
## Max. :9029850
## MONTO_DESEMBOLSAR_619
## Min. : 0
## 1st Qu.: 0
## Median : 0
## Mean : 2796
## 3rd Qu.: 0
## Max. :28581650
SELECCION DE VARIABLES
# SELECCION DE VARIABLES
Cartera_Credito_Final <- select(Cartera_Credito, CEDULA, NUMERO_OPERACION, TIPO_SOCIO, DESCRIPCION_PRESTAMO, DIAS_MOROSOS, INTERES_ACTUAL, SALDO_PRESTAMO, CATEGORIA_RIESGO, PLAZO_OPERACION, TIPO_TASA, GARANTIA, SALARIO_LIQUIDO, LUGAR_DEDUC_PRINCIPAL, SEX, FECHA_NACIMIENTO, ESTADO_CIVIL, CONDICION_PLAZA, OFICINA_TRAMITE, CAPACIDAD_PAGO, PORCENTAJE_COMPROMETIDO)
head(Cartera_Credito_Final[, !names(Cartera_Credito_Final) %in% c("CEDULA")])
## NUMERO_OPERACION TIPO_SOCIO DESCRIPCION_PRESTAMO DIAS_MOROSOS
## 1 1 PENSIONADO JUPEMA CORRIENTE 0
## 2 2 PENSIONADO JUPEMA PERSONAL ALTERNATIVO 0
## 3 3 PENSIONADO JUPEMA TARJETA CREDITO CHIP-INTER. 0
## 4 4 PENSIONADO JUPEMA CORRIENTE 0
## 5 5 PENSIONADO JUPEMA ESPECIAL EXTRAORDINARIO 0
## 6 6 PENSIONADO JUPEMA CORRIENTE 0
## INTERES_ACTUAL SALDO_PRESTAMO CATEGORIA_RIESGO PLAZO_OPERACION TIPO_TASA
## 1 11.00 750214.45 A1 102 FIJA
## 2 14.85 9288877.15 A1 124 VARIABLE
## 3 16.80 500.54 A1 84 VARIABLE
## 4 11.00 120167.75 A1 78 FIJA
## 5 11.00 13402117.75 A1 148 FIJA
## 6 11.00 77973.90 A1 78 FIJA
## GARANTIA SALARIO_LIQUIDO LUGAR_DEDUC_PRINCIPAL SEX
## 1 POLIZA S.S.V.M.N. 271058.9 INTEGRA FEMENINO
## 2 SEGURO CAUCION 437719.7 INTEGRA FEMENINO
## 3 CONTRATO 373413.6 INTEGRA FEMENINO
## 4 POLIZA S.S.V.M.N. 315291.4 INTEGRA MASCULINO
## 5 SEGURO CAUCION 519070.3 INTEGRA FEMENINO
## 6 POLIZA S.S.V.M.N. 174946.0 INTEGRA FEMENINO
## FECHA_NACIMIENTO ESTADO_CIVIL CONDICION_PLAZA OFICINA_TRAMITE CAPACIDAD_PAGO
## 1 1920-07-20 VIUDO PROPIEDAD OFICINA CENTRAL 1
## 2 1923-01-16 VIUDO PROPIEDAD OFICINA CENTRAL 1
## 3 1924-03-11 CASADO PROPIEDAD OFICINA CENTRAL 1
## 4 1925-04-28 CASADO PROPIEDAD OFICINA CENTRAL 1
## 5 1926-10-04 VIUDO PROPIEDAD OFICINA CENTRAL 1
## 6 1926-12-26 VIUDO PROPIEDAD OFICINA CENTRAL 1
## PORCENTAJE_COMPROMETIDO
## 1 33.66
## 2 63.11
## 3 6.00
## 4 0.00
## 5 29.89
## 6 32.00
# HAGO UN STR PARA DETERMINAR EL TIPO DE FORMATO QUE TIENEN LAS VARIABLES SELECCIONADAS Y CONOCER SI ALGUNAS NECESITAN UNA TRANSFORMACION
str(Cartera_Credito_Final[, !names(Cartera_Credito_Final) %in% c("CEDULA")])
## 'data.frame': 214700 obs. of 19 variables:
## $ NUMERO_OPERACION : int 1 2 3 4 5 6 7 8 9 10 ...
## $ TIPO_SOCIO : chr "PENSIONADO JUPEMA" "PENSIONADO JUPEMA" "PENSIONADO JUPEMA" "PENSIONADO JUPEMA" ...
## $ DESCRIPCION_PRESTAMO : chr "CORRIENTE" "PERSONAL ALTERNATIVO" "TARJETA CREDITO CHIP-INTER." "CORRIENTE" ...
## $ DIAS_MOROSOS : int 0 0 0 0 0 0 0 0 0 0 ...
## $ INTERES_ACTUAL : num 11 14.8 16.8 11 11 ...
## $ SALDO_PRESTAMO : num 750214 9288877 501 120168 13402118 ...
## $ CATEGORIA_RIESGO : chr "A1" "A1" "A1" "A1" ...
## $ PLAZO_OPERACION : int 102 124 84 78 148 78 101 99 123 63 ...
## $ TIPO_TASA : chr "FIJA" "VARIABLE" "VARIABLE" "FIJA" ...
## $ GARANTIA : chr "POLIZA S.S.V.M.N." "SEGURO CAUCION" "CONTRATO" "POLIZA S.S.V.M.N." ...
## $ SALARIO_LIQUIDO : num 271059 437720 373414 315291 519070 ...
## $ LUGAR_DEDUC_PRINCIPAL : chr "INTEGRA" "INTEGRA" "INTEGRA" "INTEGRA" ...
## $ SEX : chr "FEMENINO" "FEMENINO" "FEMENINO" "MASCULINO" ...
## $ FECHA_NACIMIENTO : chr "1920-07-20" "1923-01-16" "1924-03-11" "1925-04-28" ...
## $ ESTADO_CIVIL : chr "VIUDO" "VIUDO" "CASADO" "CASADO" ...
## $ CONDICION_PLAZA : chr "PROPIEDAD" "PROPIEDAD" "PROPIEDAD" "PROPIEDAD" ...
## $ OFICINA_TRAMITE : chr "OFICINA CENTRAL" "OFICINA CENTRAL" "OFICINA CENTRAL" "OFICINA CENTRAL" ...
## $ CAPACIDAD_PAGO : num 1 1 1 1 1 1 1 1 1 1 ...
## $ PORCENTAJE_COMPROMETIDO: num 33.7 63.1 6 0 29.9 ...
LIMPIEZA DE DATOS
#TRANSFORMACIÓN DE VARIABLES NECESARIAS
Cartera_Credito_Final$CEDULA <- as.factor(Cartera_Credito_Final$CEDULA)
Cartera_Credito_Final$NUMERO_OPERACION <- as.factor(Cartera_Credito_Final$NUMERO_OPERACION)
Cartera_Credito_Final$FECHA_NACIMIENTO <- as.Date(Cartera_Credito_Final$FECHA_NACIMIENTO)
Cartera_Credito_Final$TIPO_SOCIO <- as.factor(Cartera_Credito_Final$TIPO_SOCIO)
Cartera_Credito_Final$DESCRIPCION_PRESTAMO <- as.factor(Cartera_Credito_Final$DESCRIPCION_PRESTAMO)
Cartera_Credito_Final$CATEGORIA_RIESGO <- as.factor(Cartera_Credito_Final$CATEGORIA_RIESGO)
Cartera_Credito_Final$TIPO_TASA <- as.factor(Cartera_Credito_Final$TIPO_TASA)
Cartera_Credito_Final$GARANTIA <- as.factor(Cartera_Credito_Final$GARANTIA)
Cartera_Credito_Final$LUGAR_DEDUC_PRINCIPAL <- as.factor(Cartera_Credito_Final$LUGAR_DEDUC_PRINCIPAL)
Cartera_Credito_Final$SEX <- as.factor(Cartera_Credito_Final$SEX)
Cartera_Credito_Final$ESTADO_CIVIL <- as.factor(Cartera_Credito_Final$ESTADO_CIVIL)
Cartera_Credito_Final$CONDICION_PLAZA <- as.factor(Cartera_Credito_Final$CONDICION_PLAZA)
Cartera_Credito_Final$OFICINA_TRAMITE <- as.factor(Cartera_Credito_Final$OFICINA_TRAMITE)
#CREO UNA VARIABLE A RAIZ DE LOS DIAS DE MOROSIDAD PARA SABER SI UNA OPERACION TIENE MOROSIDAD O NO
Cartera_Credito_Final$MOROSIDAD <- as.factor(ifelse(Cartera_Credito_Final$DIAS_MOROSOS > 0, "SI", "NO"))
#CREO UNA VARIABLE A BASE DE LA VARIABLE TIPO_SOCIO PARA REALIZAR UNA MEJOR AGRUPACION PARA DISMINUIR LA CANTIDAD DE NIVELES Y DEJAR SOLO 4 NIVELES PENSIONADO, ACTIVO, FALLECIDO Y EXSOCIO
Cartera_Credito_Final$TIPO_SOCIO_FINAL <- ifelse(Cartera_Credito_Final$TIPO_SOCIO %in% c("PENSIONADO CAPITAL", "PENSIONADO CCSS", "PENSIONADO HACIENDA", "PENSIONADO JUPEMA"), "PENSIONADO", ifelse(Cartera_Credito_Final$TIPO_SOCIO == "ACTIVO", "ACTIVO", ifelse(Cartera_Credito_Final$TIPO_SOCIO == "FALLECIDO", "FALLECIDO", "EXSOCIO")))
#CREO UNA VARIABLE A BASE DE LA VARIABLE LUGAR_DEDUC_PRINCIPAL PARA REALIZAR UNA MEJOR AGRUPACION Y TENER MENOS NIVELES DEBIDO A QUE SE RESUME EN DOS EFECTIVO O AUTOMATICA
Cartera_Credito_Final$LUGAR_DEDUCCION_FINAL <- ifelse(Cartera_Credito_Final$LUGAR_DEDUC_PRINCIPAL == "EFECTIVO", "PAGO_EFECTIVO", "DEDUCCION_AUTOMATICA")
#CREO UNA VARIABLE PARA AGRUPAR EN 4 SEGMENTOS LOS TIPOS DE PRESTAMOS, LOS SEGMENTOS QUE SE VAN A UTILIZAR SON LOS UTILIZADOS POR LA SUGEF "CONSUMO", "VEHICULO", "TARJETAS" Y "VIVIENDA"
Cartera_Credito_Final$SEGMENTO_CARTERA <- ifelse(Cartera_Credito_Final$DESCRIPCION_PRESTAMO %in% c("VEHICULO NUEVO", "VEHICULO USADO", "ECOLÓGICO PARA VEHÍCULO"), "VEHICULO", ifelse(Cartera_Credito_Final$DESCRIPCION_PRESTAMO %in% c("TARJETA CREDITO CHIP-DORADA", "TARJETA CREDITO CHIP-INTER.", "TARJETA CREDITO CHIP-LOCAL", "TARJETA CREDITO-DORADA", "TARJETA CREDITO-INTER.", "TARJETA CREDITO-LOCAL"), "TARJETAS", ifelse(Cartera_Credito_Final$DESCRIPCION_PRESTAMO %in% c("VIVIENDA CANCELACIÓN DE HIPOTECA", "VIVIENDA FIDUCIARIO", "VIVIENDA HIPOTECARIO SINIESTROS", "VIVIENDA INTERMEDIO", "VIVIENDA MONTO MAYOR", "AMPLIACION DE TOPE", "BIENES ADJUDICADOS", "BIENES INMUEBLES", "HIPOTECARIO ALTERNATIVO", "VIVIENDA HIPOTECARIO TASA VARIABLE"), "VIVIENDA", "CONSUMO")))
#CREO UNA VARIABLE A BASE DE LA GARANTIA PARA AGRUPAR TIPOS DE GARANTIA QUE SON IGUALES, SIN EMBARGO, TIENEN NOMBRES DIFERENTES, LO ANTERIOR PARA TENER MENOS NIVELES
Cartera_Credito_Final$GARANTIA_FINAL <- ifelse(Cartera_Credito_Final$GARANTIA %in% c("GARANTIA COLATERAL", "SEGURO CAUCION", "SEGURO CREDITO"), "GARANTIA_ESPECIAL", ifelse(Cartera_Credito_Final$GARANTIA == "APORTES CAPITAL", "APORT_CAPITAL", ifelse(Cartera_Credito_Final$GARANTIA == "FIDUCIARIA", "FIDUCIARIA", ifelse(Cartera_Credito_Final$GARANTIA == "CONTRATO", "CONTRATO", ifelse(Cartera_Credito_Final$GARANTIA == "CONTRATO DE CONTROL SOBRE CUENTAS", "CONTRATO DE CONTROL SOBRE CUENTAS", ifelse(Cartera_Credito_Final$GARANTIA == "HIPOTECARIA", "HIPOTECARIA", ifelse(Cartera_Credito_Final$GARANTIA == "MIXTA", "MIXTA", ifelse(Cartera_Credito_Final$GARANTIA == "POLIZA S.S.V.M.N.", "POLIZA SSVMN", "PRENDARIA"))))))))
#CREO UNA VARIABLE A BASE DEL ESTADO VICIL PARA AGRUPAR LOS TIPOS DE ESTADO CIVIL EN SOLTERO, CASADO O DIVORCIADO Y ASI TENER MENOS NIVELES
Cartera_Credito_Final$ESTADO_CIVIL_FINAL <- ifelse(Cartera_Credito_Final$ESTADO_CIVIL %in% c("SOLTERO", "VIUDO", "NO DISPONIBLE", "SEPARACION JUDICIAL", "DESCONOCIDO"), "SOLTERO", ifelse(Cartera_Credito_Final$ESTADO_CIVIL %in% c("CASADO", "UNION LIBRE"), "CASADO", "DIVORCIADO"))
head(Cartera_Credito_Final[, !names(Cartera_Credito_Final) %in% c("CEDULA")])
## NUMERO_OPERACION TIPO_SOCIO DESCRIPCION_PRESTAMO DIAS_MOROSOS
## 1 1 PENSIONADO JUPEMA CORRIENTE 0
## 2 2 PENSIONADO JUPEMA PERSONAL ALTERNATIVO 0
## 3 3 PENSIONADO JUPEMA TARJETA CREDITO CHIP-INTER. 0
## 4 4 PENSIONADO JUPEMA CORRIENTE 0
## 5 5 PENSIONADO JUPEMA ESPECIAL EXTRAORDINARIO 0
## 6 6 PENSIONADO JUPEMA CORRIENTE 0
## INTERES_ACTUAL SALDO_PRESTAMO CATEGORIA_RIESGO PLAZO_OPERACION TIPO_TASA
## 1 11.00 750214.45 A1 102 FIJA
## 2 14.85 9288877.15 A1 124 VARIABLE
## 3 16.80 500.54 A1 84 VARIABLE
## 4 11.00 120167.75 A1 78 FIJA
## 5 11.00 13402117.75 A1 148 FIJA
## 6 11.00 77973.90 A1 78 FIJA
## GARANTIA SALARIO_LIQUIDO LUGAR_DEDUC_PRINCIPAL SEX
## 1 POLIZA S.S.V.M.N. 271058.9 INTEGRA FEMENINO
## 2 SEGURO CAUCION 437719.7 INTEGRA FEMENINO
## 3 CONTRATO 373413.6 INTEGRA FEMENINO
## 4 POLIZA S.S.V.M.N. 315291.4 INTEGRA MASCULINO
## 5 SEGURO CAUCION 519070.3 INTEGRA FEMENINO
## 6 POLIZA S.S.V.M.N. 174946.0 INTEGRA FEMENINO
## FECHA_NACIMIENTO ESTADO_CIVIL CONDICION_PLAZA OFICINA_TRAMITE CAPACIDAD_PAGO
## 1 1920-07-20 VIUDO PROPIEDAD OFICINA CENTRAL 1
## 2 1923-01-16 VIUDO PROPIEDAD OFICINA CENTRAL 1
## 3 1924-03-11 CASADO PROPIEDAD OFICINA CENTRAL 1
## 4 1925-04-28 CASADO PROPIEDAD OFICINA CENTRAL 1
## 5 1926-10-04 VIUDO PROPIEDAD OFICINA CENTRAL 1
## 6 1926-12-26 VIUDO PROPIEDAD OFICINA CENTRAL 1
## PORCENTAJE_COMPROMETIDO MOROSIDAD TIPO_SOCIO_FINAL LUGAR_DEDUCCION_FINAL
## 1 33.66 NO PENSIONADO DEDUCCION_AUTOMATICA
## 2 63.11 NO PENSIONADO DEDUCCION_AUTOMATICA
## 3 6.00 NO PENSIONADO DEDUCCION_AUTOMATICA
## 4 0.00 NO PENSIONADO DEDUCCION_AUTOMATICA
## 5 29.89 NO PENSIONADO DEDUCCION_AUTOMATICA
## 6 32.00 NO PENSIONADO DEDUCCION_AUTOMATICA
## SEGMENTO_CARTERA GARANTIA_FINAL ESTADO_CIVIL_FINAL
## 1 CONSUMO POLIZA SSVMN SOLTERO
## 2 CONSUMO GARANTIA_ESPECIAL SOLTERO
## 3 TARJETAS CONTRATO CASADO
## 4 CONSUMO POLIZA SSVMN CASADO
## 5 CONSUMO GARANTIA_ESPECIAL SOLTERO
## 6 CONSUMO POLIZA SSVMN SOLTERO
#REALIZAO UN STR PARA DETERMINAR QUE EL CAMBIO DE FORMATO EN LAS VARIABLES SE HAYA REALIZADO DE MANERA CORRECTA
str(Cartera_Credito_Final[, !names(Cartera_Credito_Final) %in% c("CEDULA")])
## 'data.frame': 214700 obs. of 25 variables:
## $ NUMERO_OPERACION : Factor w/ 214700 levels "1","2","3","4",..: 1 2 3 4 5 6 7 8 9 10 ...
## $ TIPO_SOCIO : Factor w/ 7 levels "ACTIVO","EXSOCIO",..: 7 7 7 7 7 7 7 7 7 7 ...
## $ DESCRIPCION_PRESTAMO : Factor w/ 36 levels "AMPLIACION DE TOPE",..: 6 17 24 6 12 6 32 12 17 11 ...
## $ DIAS_MOROSOS : int 0 0 0 0 0 0 0 0 0 0 ...
## $ INTERES_ACTUAL : num 11 14.8 16.8 11 11 ...
## $ SALDO_PRESTAMO : num 750214 9288877 501 120168 13402118 ...
## $ CATEGORIA_RIESGO : Factor w/ 8 levels "A1","A2","B1",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ PLAZO_OPERACION : int 102 124 84 78 148 78 101 99 123 63 ...
## $ TIPO_TASA : Factor w/ 3 levels "FIJA","FIJA VARIABLE",..: 1 3 3 1 1 1 1 1 3 1 ...
## $ GARANTIA : Factor w/ 11 levels "APORTES CAPITAL",..: 8 10 2 8 10 8 8 10 8 1 ...
## $ SALARIO_LIQUIDO : num 271059 437720 373414 315291 519070 ...
## $ LUGAR_DEDUC_PRINCIPAL : Factor w/ 17 levels "A.N.D.E","A.P.S.E",..: 7 7 7 7 7 7 7 7 7 7 ...
## $ SEX : Factor w/ 2 levels "FEMENINO","MASCULINO": 1 1 1 2 1 1 1 1 1 1 ...
## $ FECHA_NACIMIENTO : Date, format: "1920-07-20" "1923-01-16" ...
## $ ESTADO_CIVIL : Factor w/ 8 levels "CASADO","DESCONOCIDO",..: 8 8 1 1 8 8 8 1 1 1 ...
## $ CONDICION_PLAZA : Factor w/ 2 levels "INTERINO","PROPIEDAD": 2 2 2 2 2 2 2 2 2 2 ...
## $ OFICINA_TRAMITE : Factor w/ 13 levels "ALAJUELA","CARTAGO",..: 8 8 8 8 8 8 10 8 8 8 ...
## $ CAPACIDAD_PAGO : num 1 1 1 1 1 1 1 1 1 1 ...
## $ PORCENTAJE_COMPROMETIDO: num 33.7 63.1 6 0 29.9 ...
## $ MOROSIDAD : Factor w/ 2 levels "NO","SI": 1 1 1 1 1 1 1 1 1 1 ...
## $ TIPO_SOCIO_FINAL : chr "PENSIONADO" "PENSIONADO" "PENSIONADO" "PENSIONADO" ...
## $ LUGAR_DEDUCCION_FINAL : chr "DEDUCCION_AUTOMATICA" "DEDUCCION_AUTOMATICA" "DEDUCCION_AUTOMATICA" "DEDUCCION_AUTOMATICA" ...
## $ SEGMENTO_CARTERA : chr "CONSUMO" "CONSUMO" "TARJETAS" "CONSUMO" ...
## $ GARANTIA_FINAL : chr "POLIZA SSVMN" "GARANTIA_ESPECIAL" "CONTRATO" "POLIZA SSVMN" ...
## $ ESTADO_CIVIL_FINAL : chr "SOLTERO" "SOLTERO" "CASADO" "CASADO" ...
DATOS DE ACCIONISTAS
DATOS
#LECTURA DE BASE DE DATOS
Datos_Accionistas <- read.csv("Datos_Accionistas.DEL", sep = ";", dec = ".", header = T)
Datos_Accionistas$NOMBRE <- NULL
head(Datos_Accionistas[, !names(Datos_Accionistas) %in% c("CEDULA")])
## TIPO_SOCIO LUGAR_DEDUC_PRINCIPAL FECHA_NACIMIENTO PROVINCIA_HAB CANTON_HAB
## 1 EXSOCIO EFECTIVO
## 2 EXSOCIO EFECTIVO
## 3 EXSOCIO EFECTIVO
## 4 EXSOCIO INTEGRA
## 5 EXSOCIO EFECTIVO
## 6 FALLECIDO EFECTIVO 1890-03-03
## DISTRITO_HAB CONDICION_PLAZA GENERO1 TOTAL_ADEUDADO PROFESION
## 1 0
## 2 0
## 3 0
## 4 0
## 5 0
## 6 INTERINO FEMENINO 0 NO REGISTRADA
## ESTADO_CIVIL OCUPACION
## 1
## 2
## 3
## 4
## 5
## 6 SOLTERO
EXPLORACION Y VERIFICACION
#DIMENSIÓN DE LA TABLA ORIGINAL
dim(Datos_Accionistas)
## [1] 191343 14
#SE DETERMINA EL TIPO DE FORMATO DE TODAS LAS VARIABLES ORIGINALES PARA CONOCER SI DEBO REALIZAR ALGUNA TRANSFORMACION
str(Datos_Accionistas[, !names(Datos_Accionistas) %in% c("CEDULA")])
## 'data.frame': 191343 obs. of 12 variables:
## $ TIPO_SOCIO : chr "EXSOCIO" "EXSOCIO" "EXSOCIO" "EXSOCIO" ...
## $ LUGAR_DEDUC_PRINCIPAL: chr "EFECTIVO" "EFECTIVO" "EFECTIVO" "INTEGRA" ...
## $ FECHA_NACIMIENTO : chr "" "" "" "" ...
## $ PROVINCIA_HAB : chr "" "" "" "" ...
## $ CANTON_HAB : chr "" "" "" "" ...
## $ DISTRITO_HAB : chr "" "" "" "" ...
## $ CONDICION_PLAZA : chr "" "" "" "" ...
## $ GENERO1 : chr "" "" "" "" ...
## $ TOTAL_ADEUDADO : num 0 0 0 0 0 0 0 0 0 0 ...
## $ PROFESION : chr "" "" "" "" ...
## $ ESTADO_CIVIL : chr "" "" "" "" ...
## $ OCUPACION : chr "" "" "" "" ...
#SE REALIZA UN SUMMARY PARA GENERAR ESTADISTICAS BASICAS SOBRE LA TABLA ORIGINAL
summary(Datos_Accionistas[, !names(Datos_Accionistas) %in% c("CEDULA")])
## TIPO_SOCIO LUGAR_DEDUC_PRINCIPAL FECHA_NACIMIENTO PROVINCIA_HAB
## Length:191343 Length:191343 Length:191343 Length:191343
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
## CANTON_HAB DISTRITO_HAB CONDICION_PLAZA GENERO1
## Length:191343 Length:191343 Length:191343 Length:191343
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
## TOTAL_ADEUDADO PROFESION ESTADO_CIVIL OCUPACION
## Min. : 0 Length:191343 Length:191343 Length:191343
## 1st Qu.: 0 Class :character Class :character Class :character
## Median : 0 Mode :character Mode :character Mode :character
## Mean : 5747099
## 3rd Qu.: 6925801
## Max. :129730800
SELECCION DE DATOS
#SELECCION DE VARIABLES
Datos_Accionistas_Final <- select(Datos_Accionistas, CEDULA, TIPO_SOCIO, LUGAR_DEDUC_PRINCIPAL, FECHA_NACIMIENTO, PROVINCIA_HAB, CONDICION_PLAZA, GENERO1, PROFESION, ESTADO_CIVIL)
head(Datos_Accionistas_Final[, !names(Datos_Accionistas_Final) %in% c("CEDULA")])
## TIPO_SOCIO LUGAR_DEDUC_PRINCIPAL FECHA_NACIMIENTO PROVINCIA_HAB
## 1 EXSOCIO EFECTIVO
## 2 EXSOCIO EFECTIVO
## 3 EXSOCIO EFECTIVO
## 4 EXSOCIO INTEGRA
## 5 EXSOCIO EFECTIVO
## 6 FALLECIDO EFECTIVO 1890-03-03
## CONDICION_PLAZA GENERO1 PROFESION ESTADO_CIVIL
## 1
## 2
## 3
## 4
## 5
## 6 INTERINO FEMENINO NO REGISTRADA SOLTERO
# HAGO UN STR PARA DETERMINAR EL TIPO DE FORMATO QUE TIENEN LAS VARIABLES
str(Datos_Accionistas_Final[, !names(Datos_Accionistas_Final) %in% c("CEDULA")])
## 'data.frame': 191343 obs. of 8 variables:
## $ TIPO_SOCIO : chr "EXSOCIO" "EXSOCIO" "EXSOCIO" "EXSOCIO" ...
## $ LUGAR_DEDUC_PRINCIPAL: chr "EFECTIVO" "EFECTIVO" "EFECTIVO" "INTEGRA" ...
## $ FECHA_NACIMIENTO : chr "" "" "" "" ...
## $ PROVINCIA_HAB : chr "" "" "" "" ...
## $ CONDICION_PLAZA : chr "" "" "" "" ...
## $ GENERO1 : chr "" "" "" "" ...
## $ PROFESION : chr "" "" "" "" ...
## $ ESTADO_CIVIL : chr "" "" "" "" ...
LIMPIEZA DE DATOS
# TRANSFORMACIÓN DE VARIABLES
Datos_Accionistas_Final$CEDULA <- as.factor(Datos_Accionistas_Final$CEDULA)
Datos_Accionistas_Final$FECHA_NACIMIENTO <- as.Date(Datos_Accionistas_Final$FECHA_NACIMIENTO, format = "%Y-%m-%d")
Datos_Accionistas_Final$TIPO_SOCIO <- as.factor(Datos_Accionistas_Final$TIPO_SOCIO)
Datos_Accionistas_Final$LUGAR_DEDUC_PRINCIPAL <- as.factor(Datos_Accionistas_Final$LUGAR_DEDUC_PRINCIPAL)
Datos_Accionistas_Final$PROVINCIA_HAB <- as.factor(Datos_Accionistas_Final$PROVINCIA_HAB)
Datos_Accionistas_Final$CONDICION_PLAZA <- as.factor(Datos_Accionistas_Final$CONDICION_PLAZA)
Datos_Accionistas_Final$GENERO1 <- as.factor(Datos_Accionistas_Final$GENERO1)
Datos_Accionistas_Final$PROFESION <- as.factor(Datos_Accionistas_Final$PROFESION)
Datos_Accionistas_Final$ESTADO_CIVIL <- as.factor(Datos_Accionistas_Final$ESTADO_CIVIL)
#RENOMBRAR VARIABLES
Datos_Accionistas_Final <- Datos_Accionistas_Final %>% dplyr::rename("GENERO" = GENERO1, "PROVINCIA_HABITACION" = PROVINCIA_HAB)
#CREO UNA VARIABLE CON LA EDAD AL 31 DE DICIEMBRE DE 2022, USANDO LA FECHA DE NACIMIENTO, DIVIDO ENTRE 365.25 PARA CONSIDERAR LOS A;OS BISIESTOS
FECHA_CORTE <- as.Date("2022-12-31")
DIFERENCIA_DIAS <- as.numeric(difftime(FECHA_CORTE,
Datos_Accionistas_Final$FECHA_NACIMIENTO,
units = "days"))
Datos_Accionistas_Final$EDAD <- floor(DIFERENCIA_DIAS / 365.25)
head(Datos_Accionistas_Final[, !names(Datos_Accionistas_Final) %in% c("CEDULA")])
## TIPO_SOCIO LUGAR_DEDUC_PRINCIPAL FECHA_NACIMIENTO PROVINCIA_HABITACION
## 1 EXSOCIO EFECTIVO <NA>
## 2 EXSOCIO EFECTIVO <NA>
## 3 EXSOCIO EFECTIVO <NA>
## 4 EXSOCIO INTEGRA <NA>
## 5 EXSOCIO EFECTIVO <NA>
## 6 FALLECIDO EFECTIVO 1890-03-03
## CONDICION_PLAZA GENERO PROFESION ESTADO_CIVIL EDAD
## 1 NA
## 2 NA
## 3 NA
## 4 NA
## 5 NA
## 6 INTERINO FEMENINO NO REGISTRADA SOLTERO 132
#SE DETERMINA QUE EL CAMBIO DE FORMATO EN LAS VARIABLES Y LA INCORPOACION DE LA EDAD, SE HAYA REALIZADO DE MANERA CORRECTA
str(Datos_Accionistas_Final[, !names(Datos_Accionistas_Final) %in% c("CEDULA")])
## 'data.frame': 191343 obs. of 9 variables:
## $ TIPO_SOCIO : Factor w/ 9 levels "ACTIVO","EXSOCIO",..: 2 2 2 2 2 3 8 2 2 2 ...
## $ LUGAR_DEDUC_PRINCIPAL: Factor w/ 21 levels "","0.00","A.N.D.E",..: 9 9 9 10 9 9 10 9 9 9 ...
## $ FECHA_NACIMIENTO : Date, format: NA NA ...
## $ PROVINCIA_HABITACION : Factor w/ 11 levels "","ALAJUELA",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ CONDICION_PLAZA : Factor w/ 3 levels "","INTERINO",..: 1 1 1 1 1 2 3 1 1 1 ...
## $ GENERO : Factor w/ 3 levels "","FEMENINO",..: 1 1 1 1 1 2 3 1 1 1 ...
## $ PROFESION : Factor w/ 171 levels "","ABOGADO","ABOGADO CIVILISTA",..: 1 1 1 1 1 118 75 1 1 1 ...
## $ ESTADO_CIVIL : Factor w/ 10 levels "","CASADO","DESCONOCIDO",..: 1 1 1 1 1 8 8 1 1 1 ...
## $ EDAD : num NA NA NA NA NA 132 106 NA NA 44 ...
PROYECTO FINAL
DATOS UTILIZADOS
INTEGRACION BASES DE DATOS
# SE UNE LA INFORMACION DE LAS TABLAS Datos_Accionistas_Final con Cartera_Credito_Final POR LA VARIABLE CEDULA
BASE_INTEGRADA <- inner_join(Cartera_Credito_Final, Datos_Accionistas_Final, by = "CEDULA")
BASE_INTEGRADA$CEDULA <- NULL
head(BASE_INTEGRADA)
## NUMERO_OPERACION TIPO_SOCIO.x DESCRIPCION_PRESTAMO DIAS_MOROSOS
## 1 2018013397 PENSIONADO JUPEMA CORRIENTE 0
## 2 2018094110 PENSIONADO JUPEMA PERSONAL ALTERNATIVO 0
## 3 5459622915005604 PENSIONADO JUPEMA TARJETA CREDITO CHIP-INTER. 0
## 4 2016093435 PENSIONADO JUPEMA CORRIENTE 0
## 5 2020031045 PENSIONADO JUPEMA ESPECIAL EXTRAORDINARIO 0
## 6 2016100292 PENSIONADO JUPEMA CORRIENTE 0
## INTERES_ACTUAL SALDO_PRESTAMO CATEGORIA_RIESGO PLAZO_OPERACION TIPO_TASA
## 1 11.00 750214.45 A1 102 FIJA
## 2 14.85 9288877.15 A1 124 VARIABLE
## 3 16.80 500.54 A1 84 VARIABLE
## 4 11.00 120167.75 A1 78 FIJA
## 5 11.00 13402117.75 A1 148 FIJA
## 6 11.00 77973.90 A1 78 FIJA
## GARANTIA SALARIO_LIQUIDO LUGAR_DEDUC_PRINCIPAL.x SEX
## 1 POLIZA S.S.V.M.N. 271058.9 INTEGRA FEMENINO
## 2 SEGURO CAUCION 437719.7 INTEGRA FEMENINO
## 3 CONTRATO 373413.6 INTEGRA FEMENINO
## 4 POLIZA S.S.V.M.N. 315291.4 INTEGRA MASCULINO
## 5 SEGURO CAUCION 519070.3 INTEGRA FEMENINO
## 6 POLIZA S.S.V.M.N. 174946.0 INTEGRA FEMENINO
## FECHA_NACIMIENTO.x ESTADO_CIVIL.x CONDICION_PLAZA.x OFICINA_TRAMITE
## 1 1920-07-20 VIUDO PROPIEDAD OFICINA CENTRAL
## 2 1923-01-16 VIUDO PROPIEDAD OFICINA CENTRAL
## 3 1924-03-11 CASADO PROPIEDAD OFICINA CENTRAL
## 4 1925-04-28 CASADO PROPIEDAD OFICINA CENTRAL
## 5 1926-10-04 VIUDO PROPIEDAD OFICINA CENTRAL
## 6 1926-12-26 VIUDO PROPIEDAD OFICINA CENTRAL
## CAPACIDAD_PAGO PORCENTAJE_COMPROMETIDO MOROSIDAD TIPO_SOCIO_FINAL
## 1 1 33.66 NO PENSIONADO
## 2 1 63.11 NO PENSIONADO
## 3 1 6.00 NO PENSIONADO
## 4 1 0.00 NO PENSIONADO
## 5 1 29.89 NO PENSIONADO
## 6 1 32.00 NO PENSIONADO
## LUGAR_DEDUCCION_FINAL SEGMENTO_CARTERA GARANTIA_FINAL ESTADO_CIVIL_FINAL
## 1 DEDUCCION_AUTOMATICA CONSUMO POLIZA SSVMN SOLTERO
## 2 DEDUCCION_AUTOMATICA CONSUMO GARANTIA_ESPECIAL SOLTERO
## 3 DEDUCCION_AUTOMATICA TARJETAS CONTRATO CASADO
## 4 DEDUCCION_AUTOMATICA CONSUMO POLIZA SSVMN CASADO
## 5 DEDUCCION_AUTOMATICA CONSUMO GARANTIA_ESPECIAL SOLTERO
## 6 DEDUCCION_AUTOMATICA CONSUMO POLIZA SSVMN SOLTERO
## TIPO_SOCIO.y LUGAR_DEDUC_PRINCIPAL.y FECHA_NACIMIENTO.y
## 1 PENSIONADO JUPEMA INTEGRA 1920-07-20
## 2 PENSIONADO JUPEMA INTEGRA 1923-01-16
## 3 PENSIONADO JUPEMA INTEGRA 1924-03-11
## 4 PENSIONADO JUPEMA INTEGRA 1925-04-28
## 5 PENSIONADO JUPEMA INTEGRA 1926-10-04
## 6 PENSIONADO JUPEMA INTEGRA 1926-12-26
## PROVINCIA_HABITACION CONDICION_PLAZA.y GENERO PROFESION ESTADO_CIVIL.y
## 1 SAN JOSE PROPIEDAD FEMENINO EDUCADOR VIUDO
## 2 SAN JOSE PROPIEDAD FEMENINO EDUCADOR VIUDO
## 3 SAN JOSE PROPIEDAD FEMENINO EDUCADOR CASADO
## 4 SAN JOSE PROPIEDAD MASCULINO EDUCADOR CASADO
## 5 SAN JOSE PROPIEDAD FEMENINO EDUCADOR VIUDO
## 6 SAN JOSE PROPIEDAD FEMENINO EDUCADOR VIUDO
## EDAD
## 1 102
## 2 99
## 3 98
## 4 97
## 5 96
## 6 96
EXPLORACION Y VERIFICACION
#DIMENSION DE LA TABLA FINAL
dim(BASE_INTEGRADA)
## [1] 214700 34
#REALIZO UN STR PARA VERIFICA QUE EL FORMATO DE LAS VARIABLES DE LA TABLA FINAL A UTILIZAR
str(BASE_INTEGRADA)
## 'data.frame': 214700 obs. of 34 variables:
## $ NUMERO_OPERACION : Factor w/ 214700 levels "2004027002","2006012083",..: 28535 40291 213315 9418 93742 9630 26815 5290 21105 24263 ...
## $ TIPO_SOCIO.x : Factor w/ 7 levels "ACTIVO","EXSOCIO",..: 7 7 7 7 7 7 7 7 7 7 ...
## $ DESCRIPCION_PRESTAMO : Factor w/ 36 levels "AMPLIACION DE TOPE",..: 6 17 24 6 12 6 32 12 17 11 ...
## $ DIAS_MOROSOS : int 0 0 0 0 0 0 0 0 0 0 ...
## $ INTERES_ACTUAL : num 11 14.8 16.8 11 11 ...
## $ SALDO_PRESTAMO : num 750214 9288877 501 120168 13402118 ...
## $ CATEGORIA_RIESGO : Factor w/ 8 levels "A1","A2","B1",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ PLAZO_OPERACION : int 102 124 84 78 148 78 101 99 123 63 ...
## $ TIPO_TASA : Factor w/ 3 levels "FIJA","FIJA VARIABLE",..: 1 3 3 1 1 1 1 1 3 1 ...
## $ GARANTIA : Factor w/ 11 levels "APORTES CAPITAL",..: 8 10 2 8 10 8 8 10 8 1 ...
## $ SALARIO_LIQUIDO : num 271059 437720 373414 315291 519070 ...
## $ LUGAR_DEDUC_PRINCIPAL.x: Factor w/ 17 levels "A.N.D.E","A.P.S.E",..: 7 7 7 7 7 7 7 7 7 7 ...
## $ SEX : Factor w/ 2 levels "FEMENINO","MASCULINO": 1 1 1 2 1 1 1 1 1 1 ...
## $ FECHA_NACIMIENTO.x : Date, format: "1920-07-20" "1923-01-16" ...
## $ ESTADO_CIVIL.x : Factor w/ 8 levels "CASADO","DESCONOCIDO",..: 8 8 1 1 8 8 8 1 1 1 ...
## $ CONDICION_PLAZA.x : Factor w/ 2 levels "INTERINO","PROPIEDAD": 2 2 2 2 2 2 2 2 2 2 ...
## $ OFICINA_TRAMITE : Factor w/ 13 levels "ALAJUELA","CARTAGO",..: 8 8 8 8 8 8 10 8 8 8 ...
## $ CAPACIDAD_PAGO : num 1 1 1 1 1 1 1 1 1 1 ...
## $ PORCENTAJE_COMPROMETIDO: num 33.7 63.1 6 0 29.9 ...
## $ MOROSIDAD : Factor w/ 2 levels "NO","SI": 1 1 1 1 1 1 1 1 1 1 ...
## $ TIPO_SOCIO_FINAL : chr "PENSIONADO" "PENSIONADO" "PENSIONADO" "PENSIONADO" ...
## $ LUGAR_DEDUCCION_FINAL : chr "DEDUCCION_AUTOMATICA" "DEDUCCION_AUTOMATICA" "DEDUCCION_AUTOMATICA" "DEDUCCION_AUTOMATICA" ...
## $ SEGMENTO_CARTERA : chr "CONSUMO" "CONSUMO" "TARJETAS" "CONSUMO" ...
## $ GARANTIA_FINAL : chr "POLIZA SSVMN" "GARANTIA_ESPECIAL" "CONTRATO" "POLIZA SSVMN" ...
## $ ESTADO_CIVIL_FINAL : chr "SOLTERO" "SOLTERO" "CASADO" "CASADO" ...
## $ TIPO_SOCIO.y : Factor w/ 9 levels "ACTIVO","EXSOCIO",..: 8 8 8 8 8 8 8 8 8 8 ...
## $ LUGAR_DEDUC_PRINCIPAL.y: Factor w/ 21 levels "","0.00","A.N.D.E",..: 10 10 10 10 10 10 10 10 10 10 ...
## $ FECHA_NACIMIENTO.y : Date, format: "1920-07-20" "1923-01-16" ...
## $ PROVINCIA_HABITACION : Factor w/ 11 levels "","ALAJUELA",..: 10 10 10 10 10 10 2 10 10 10 ...
## $ CONDICION_PLAZA.y : Factor w/ 3 levels "","INTERINO",..: 3 3 3 3 3 3 3 3 3 3 ...
## $ GENERO : Factor w/ 3 levels "","FEMENINO",..: 2 2 2 3 2 2 2 2 2 2 ...
## $ PROFESION : Factor w/ 171 levels "","ABOGADO","ABOGADO CIVILISTA",..: 75 75 75 75 75 75 75 75 75 75 ...
## $ ESTADO_CIVIL.y : Factor w/ 10 levels "","CASADO","DESCONOCIDO",..: 10 10 2 2 10 10 10 2 2 2 ...
## $ EDAD : num 102 99 98 97 96 96 97 95 95 95 ...
LIMPIEZA
# ELIMINO LAS COLUMNAS QUE ESTAN REPETIDAS DEBIDO A QUE ESTAN EN LAS DOS TABLAS Y SE CAMBIAN LOS NOMBRES A LOS QUE SE LES AGREGO UN .x
BASE_INTEGRADA <- select(BASE_INTEGRADA, -TIPO_SOCIO.y, -LUGAR_DEDUC_PRINCIPAL.y, -FECHA_NACIMIENTO.y, -CONDICION_PLAZA.y, -ESTADO_CIVIL.y) %>%
dplyr::rename("TIPO_SOCIO" = TIPO_SOCIO.x, "LUGAR_DEDUCCION" = LUGAR_DEDUC_PRINCIPAL.x, "FECHA_NACIMIENTO" = FECHA_NACIMIENTO.x, "ESTADO_CIVIL" = ESTADO_CIVIL.x, "CONDICION_PLAZA" = CONDICION_PLAZA.x)
# REALIZO IN NA.OMIT PARA ELIMINAR LOS NA´s EN CASO DE EXISTIR EN LA TABLA
BASE_INTEGRADA <- na.omit(BASE_INTEGRADA)
head(BASE_INTEGRADA)
## NUMERO_OPERACION TIPO_SOCIO DESCRIPCION_PRESTAMO DIAS_MOROSOS
## 1 2018013397 PENSIONADO JUPEMA CORRIENTE 0
## 2 2018094110 PENSIONADO JUPEMA PERSONAL ALTERNATIVO 0
## 3 5459622915005604 PENSIONADO JUPEMA TARJETA CREDITO CHIP-INTER. 0
## 4 2016093435 PENSIONADO JUPEMA CORRIENTE 0
## 5 2020031045 PENSIONADO JUPEMA ESPECIAL EXTRAORDINARIO 0
## 6 2016100292 PENSIONADO JUPEMA CORRIENTE 0
## INTERES_ACTUAL SALDO_PRESTAMO CATEGORIA_RIESGO PLAZO_OPERACION TIPO_TASA
## 1 11.00 750214.45 A1 102 FIJA
## 2 14.85 9288877.15 A1 124 VARIABLE
## 3 16.80 500.54 A1 84 VARIABLE
## 4 11.00 120167.75 A1 78 FIJA
## 5 11.00 13402117.75 A1 148 FIJA
## 6 11.00 77973.90 A1 78 FIJA
## GARANTIA SALARIO_LIQUIDO LUGAR_DEDUCCION SEX FECHA_NACIMIENTO
## 1 POLIZA S.S.V.M.N. 271058.9 INTEGRA FEMENINO 1920-07-20
## 2 SEGURO CAUCION 437719.7 INTEGRA FEMENINO 1923-01-16
## 3 CONTRATO 373413.6 INTEGRA FEMENINO 1924-03-11
## 4 POLIZA S.S.V.M.N. 315291.4 INTEGRA MASCULINO 1925-04-28
## 5 SEGURO CAUCION 519070.3 INTEGRA FEMENINO 1926-10-04
## 6 POLIZA S.S.V.M.N. 174946.0 INTEGRA FEMENINO 1926-12-26
## ESTADO_CIVIL CONDICION_PLAZA OFICINA_TRAMITE CAPACIDAD_PAGO
## 1 VIUDO PROPIEDAD OFICINA CENTRAL 1
## 2 VIUDO PROPIEDAD OFICINA CENTRAL 1
## 3 CASADO PROPIEDAD OFICINA CENTRAL 1
## 4 CASADO PROPIEDAD OFICINA CENTRAL 1
## 5 VIUDO PROPIEDAD OFICINA CENTRAL 1
## 6 VIUDO PROPIEDAD OFICINA CENTRAL 1
## PORCENTAJE_COMPROMETIDO MOROSIDAD TIPO_SOCIO_FINAL LUGAR_DEDUCCION_FINAL
## 1 33.66 NO PENSIONADO DEDUCCION_AUTOMATICA
## 2 63.11 NO PENSIONADO DEDUCCION_AUTOMATICA
## 3 6.00 NO PENSIONADO DEDUCCION_AUTOMATICA
## 4 0.00 NO PENSIONADO DEDUCCION_AUTOMATICA
## 5 29.89 NO PENSIONADO DEDUCCION_AUTOMATICA
## 6 32.00 NO PENSIONADO DEDUCCION_AUTOMATICA
## SEGMENTO_CARTERA GARANTIA_FINAL ESTADO_CIVIL_FINAL PROVINCIA_HABITACION
## 1 CONSUMO POLIZA SSVMN SOLTERO SAN JOSE
## 2 CONSUMO GARANTIA_ESPECIAL SOLTERO SAN JOSE
## 3 TARJETAS CONTRATO CASADO SAN JOSE
## 4 CONSUMO POLIZA SSVMN CASADO SAN JOSE
## 5 CONSUMO GARANTIA_ESPECIAL SOLTERO SAN JOSE
## 6 CONSUMO POLIZA SSVMN SOLTERO SAN JOSE
## GENERO PROFESION EDAD
## 1 FEMENINO EDUCADOR 102
## 2 FEMENINO EDUCADOR 99
## 3 FEMENINO EDUCADOR 98
## 4 MASCULINO EDUCADOR 97
## 5 FEMENINO EDUCADOR 96
## 6 FEMENINO EDUCADOR 96
# SE VERIFICA LA DIMENSIÓN DE LOS DATOS DE LA TABLA FINAL
dim(BASE_INTEGRADA)
## [1] 214700 29
#SE REALIZA UN STR PARA VER EL FORMATO DE DATOS FINALES
str(BASE_INTEGRADA)
## 'data.frame': 214700 obs. of 29 variables:
## $ NUMERO_OPERACION : Factor w/ 214700 levels "2004027002","2006012083",..: 28535 40291 213315 9418 93742 9630 26815 5290 21105 24263 ...
## $ TIPO_SOCIO : Factor w/ 7 levels "ACTIVO","EXSOCIO",..: 7 7 7 7 7 7 7 7 7 7 ...
## $ DESCRIPCION_PRESTAMO : Factor w/ 36 levels "AMPLIACION DE TOPE",..: 6 17 24 6 12 6 32 12 17 11 ...
## $ DIAS_MOROSOS : int 0 0 0 0 0 0 0 0 0 0 ...
## $ INTERES_ACTUAL : num 11 14.8 16.8 11 11 ...
## $ SALDO_PRESTAMO : num 750214 9288877 501 120168 13402118 ...
## $ CATEGORIA_RIESGO : Factor w/ 8 levels "A1","A2","B1",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ PLAZO_OPERACION : int 102 124 84 78 148 78 101 99 123 63 ...
## $ TIPO_TASA : Factor w/ 3 levels "FIJA","FIJA VARIABLE",..: 1 3 3 1 1 1 1 1 3 1 ...
## $ GARANTIA : Factor w/ 11 levels "APORTES CAPITAL",..: 8 10 2 8 10 8 8 10 8 1 ...
## $ SALARIO_LIQUIDO : num 271059 437720 373414 315291 519070 ...
## $ LUGAR_DEDUCCION : Factor w/ 17 levels "A.N.D.E","A.P.S.E",..: 7 7 7 7 7 7 7 7 7 7 ...
## $ SEX : Factor w/ 2 levels "FEMENINO","MASCULINO": 1 1 1 2 1 1 1 1 1 1 ...
## $ FECHA_NACIMIENTO : Date, format: "1920-07-20" "1923-01-16" ...
## $ ESTADO_CIVIL : Factor w/ 8 levels "CASADO","DESCONOCIDO",..: 8 8 1 1 8 8 8 1 1 1 ...
## $ CONDICION_PLAZA : Factor w/ 2 levels "INTERINO","PROPIEDAD": 2 2 2 2 2 2 2 2 2 2 ...
## $ OFICINA_TRAMITE : Factor w/ 13 levels "ALAJUELA","CARTAGO",..: 8 8 8 8 8 8 10 8 8 8 ...
## $ CAPACIDAD_PAGO : num 1 1 1 1 1 1 1 1 1 1 ...
## $ PORCENTAJE_COMPROMETIDO: num 33.7 63.1 6 0 29.9 ...
## $ MOROSIDAD : Factor w/ 2 levels "NO","SI": 1 1 1 1 1 1 1 1 1 1 ...
## $ TIPO_SOCIO_FINAL : chr "PENSIONADO" "PENSIONADO" "PENSIONADO" "PENSIONADO" ...
## $ LUGAR_DEDUCCION_FINAL : chr "DEDUCCION_AUTOMATICA" "DEDUCCION_AUTOMATICA" "DEDUCCION_AUTOMATICA" "DEDUCCION_AUTOMATICA" ...
## $ SEGMENTO_CARTERA : chr "CONSUMO" "CONSUMO" "TARJETAS" "CONSUMO" ...
## $ GARANTIA_FINAL : chr "POLIZA SSVMN" "GARANTIA_ESPECIAL" "CONTRATO" "POLIZA SSVMN" ...
## $ ESTADO_CIVIL_FINAL : chr "SOLTERO" "SOLTERO" "CASADO" "CASADO" ...
## $ PROVINCIA_HABITACION : Factor w/ 11 levels "","ALAJUELA",..: 10 10 10 10 10 10 2 10 10 10 ...
## $ GENERO : Factor w/ 3 levels "","FEMENINO",..: 2 2 2 3 2 2 2 2 2 2 ...
## $ PROFESION : Factor w/ 171 levels "","ABOGADO","ABOGADO CIVILISTA",..: 75 75 75 75 75 75 75 75 75 75 ...
## $ EDAD : num 102 99 98 97 96 96 97 95 95 95 ...
#SE REALIZA UN SUMMARY PARA REVIZAR QUE NO EXISTAN DATOS ATIPICOS EN LOS DATOS
summary(BASE_INTEGRADA)
## NUMERO_OPERACION TIPO_SOCIO
## 2004027002: 1 ACTIVO :149203
## 2006012083: 1 EXSOCIO : 2546
## 2006023622: 1 FALLECIDO : 349
## 2006023623: 1 PENSIONADO CAPITAL : 3956
## 2006046714: 1 PENSIONADO CCSS : 1842
## 2006057269: 1 PENSIONADO HACIENDA: 5
## (Other) :214694 PENSIONADO JUPEMA : 56799
## DESCRIPCION_PRESTAMO DIAS_MOROSOS INTERES_ACTUAL
## CORRIENTE :51939 Min. : 0.00 Min. : 5.00
## ESPECIAL EXTRAORDINARIO:24180 1st Qu.: 0.00 1st Qu.:10.00
## PERSONAL ALTERNATIVO :20049 Median : 0.00 Median :11.00
## ESPECIAL :17473 Mean : 4.79 Mean :11.54
## SALUD :17236 3rd Qu.: 0.00 3rd Qu.:11.15
## VIVIENDA FIDUCIARIO :16218 Max. :3497.00 Max. :18.00
## (Other) :67605
## SALDO_PRESTAMO CATEGORIA_RIESGO PLAZO_OPERACION TIPO_TASA
## Min. : 0 A1 :172167 Min. : 2.0 FIJA :151150
## 1st Qu.: 812234 B1 : 25357 1st Qu.: 84.0 FIJA VARIABLE: 5
## Median : 2565817 E : 6717 Median :100.0 VARIABLE : 63545
## Mean : 5182545 A2 : 3930 Mean :108.8
## 3rd Qu.: 6697152 B2 : 2806 3rd Qu.:123.0
## Max. :93469728 D : 1657 Max. :367.0
## (Other): 2066
## GARANTIA SALARIO_LIQUIDO
## SEGURO CAUCION :73375 Min. : 0
## APORTES CAPITAL :60083 1st Qu.: 209218
## POLIZA S.S.V.M.N. :22746 Median : 352827
## GARANT\xcdA COLATERAL:17657 Mean : 384565
## CONTRATO :16741 3rd Qu.: 526116
## HIPOTECARIA :12842 Max. :5663526
## (Other) :11256
## LUGAR_DEDUCCION SEX FECHA_NACIMIENTO
## INTEGRA :205722 FEMENINO :154144 Min. :1920-07-20
## CAPITALIZACION COLECTIVA: 3964 MASCULINO: 60556 1st Qu.:1960-11-09
## PENSIONADOS CCSS : 1861 Median :1971-06-05
## PLANILLA CAJA DE ANDE : 1517 Mean :1970-03-14
## EFECTIVO : 1412 3rd Qu.:1981-02-25
## U.N.A : 58 Max. :2003-06-06
## (Other) : 166
## ESTADO_CIVIL CONDICION_PLAZA OFICINA_TRAMITE
## CASADO :105010 INTERINO : 56906 OFICINA CENTRAL:73755
## SOLTERO : 50748 PROPIEDAD:157794 CARTAGO :17974
## DIVORCIADO : 33233 HEREDIA :15318
## UNION LIBRE : 15259 LIBERIA :14250
## VIUDO : 9201 SANTA CRUZ :13915
## SEPARACI\xd3N JUDICIAL: 1241 SAN CARLOS :11939
## (Other) : 8 (Other) :67549
## CAPACIDAD_PAGO PORCENTAJE_COMPROMETIDO MOROSIDAD TIPO_SOCIO_FINAL
## Min. :1.000 Min. : 0 NO:199602 Length:214700
## 1st Qu.:1.000 1st Qu.: 24 SI: 15098 Class :character
## Median :1.000 Median : 48 Mode :character
## Mean :1.123 Mean : 4484
## 3rd Qu.:1.000 3rd Qu.: 71
## Max. :4.000 Max. :66528661
##
## LUGAR_DEDUCCION_FINAL SEGMENTO_CARTERA GARANTIA_FINAL ESTADO_CIVIL_FINAL
## Length:214700 Length:214700 Length:214700 Length:214700
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
##
## PROVINCIA_HABITACION GENERO PROFESION
## SAN JOSE :53700 : 2546 EDUCADOR :169486
## ALAJUELA :41798 FEMENINO :152571 CONSERJE : 14327
## GUANACASTE:27811 MASCULINO: 59583 ADMINISTRADOR : 4933
## CARTAGO :23930 COCINERO : 4020
## HEREDIA :23778 AGENTE DE SEGURIDAD: 3654
## PUNTARENAS:22847 OFICIAL : 3632
## (Other) :20836 (Other) : 14648
## EDAD
## Min. : 19.00
## 1st Qu.: 41.00
## Median : 51.00
## Mean : 52.31
## 3rd Qu.: 62.00
## Max. :102.00
##
#GUARDO LA BASE CON LOS DATOS FINAL A UTILIZAR
write.table(BASE_INTEGRADA, file = "BASE_INTEGRADA.csv", row.names = TRUE, sep = ";", dec = ".")
GENERO UNA MUESTRA DE LA TABLA FINAL CON UN 25% DE LA
BASE_INTEGRADA
set.seed(123)
# HAGO UNA MUESTRA ELEATORIA SIMPLE
n_total <- nrow(BASE_INTEGRADA)
tam_muestra <- floor(0.25 * n_total)
idx_muestra <- sample(seq_len(n_total), size = tam_muestra)
BASE_INTEGRADA_MUESTRA <- BASE_INTEGRADA[idx_muestra, ]
# GUARDO EL ARCHIVO DE LA MUESTRA PARA REPRODUCIBILIDAD
write.csv(BASE_INTEGRADA_MUESTRA, "BASE_INTEGRADA_MUESTRA.csv")
# SE VERIFICA LA DIMENSIÓN DE LOS DATOS DE LA TABLA FINAL
dim(BASE_INTEGRADA_MUESTRA)
## [1] 53675 29
#SE REALIZA UN SUMMARY PARA REVIZAR QUE NO EXISTAN DATOS ATIPICOS EN LOS DATOS
summary(BASE_INTEGRADA_MUESTRA)
## NUMERO_OPERACION TIPO_SOCIO
## 2006012083: 1 ACTIVO :37231
## 2006046714: 1 EXSOCIO : 682
## 2006059239: 1 FALLECIDO : 81
## 2006061231: 1 PENSIONADO CAPITAL : 995
## 2006063664: 1 PENSIONADO CCSS : 483
## 2007001672: 1 PENSIONADO HACIENDA: 1
## (Other) :53669 PENSIONADO JUPEMA :14202
## DESCRIPCION_PRESTAMO DIAS_MOROSOS INTERES_ACTUAL
## CORRIENTE :13020 Min. : 0.000 Min. : 5.00
## ESPECIAL EXTRAORDINARIO: 6048 1st Qu.: 0.000 1st Qu.:10.00
## PERSONAL ALTERNATIVO : 5015 Median : 0.000 Median :11.00
## ESPECIAL : 4426 Mean : 4.742 Mean :11.53
## SALUD : 4375 3rd Qu.: 0.000 3rd Qu.:11.15
## VIVIENDA FIDUCIARIO : 3942 Max. :3467.000 Max. :18.00
## (Other) :16849
## SALDO_PRESTAMO CATEGORIA_RIESGO PLAZO_OPERACION TIPO_TASA
## Min. : 0 A1 :42937 Min. : 2.0 FIJA :37820
## 1st Qu.: 798147 B1 : 6375 1st Qu.: 84.0 FIJA VARIABLE: 1
## Median : 2550597 E : 1738 Median :100.0 VARIABLE :15854
## Mean : 5172301 A2 : 996 Mean :108.8
## 3rd Qu.: 6669115 B2 : 663 3rd Qu.:123.0
## Max. :81534723 D : 418 Max. :367.0
## (Other): 548
## GARANTIA SALARIO_LIQUIDO
## SEGURO CAUCION :18262 Min. : 0
## APORTES CAPITAL :14942 1st Qu.: 208664
## POLIZA S.S.V.M.N. : 5760 Median : 351113
## GARANT\xcdA COLATERAL: 4482 Mean : 383607
## CONTRATO : 4196 3rd Qu.: 525674
## HIPOTECARIA : 3204 Max. :4820529
## (Other) : 2829
## LUGAR_DEDUCCION SEX FECHA_NACIMIENTO
## INTEGRA :51382 FEMENINO :38467 Min. :1922-04-15
## CAPITALIZACION COLECTIVA: 998 MASCULINO:15208 1st Qu.:1960-10-27
## PENSIONADOS CCSS : 489 Median :1971-05-10
## EFECTIVO : 394 Mean :1970-03-06
## PLANILLA CAJA DE ANDE : 362 3rd Qu.:1981-02-13
## U.N.A : 14 Max. :2003-04-29
## (Other) : 36
## ESTADO_CIVIL CONDICION_PLAZA OFICINA_TRAMITE
## CASADO :26174 INTERINO :14400 OFICINA CENTRAL:18568
## SOLTERO :12649 PROPIEDAD:39275 CARTAGO : 4536
## DIVORCIADO : 8316 HEREDIA : 3875
## UNION LIBRE : 3893 LIBERIA : 3582
## VIUDO : 2335 SANTA CRUZ : 3457
## SEPARACI\xd3N JUDICIAL: 306 ALAJUELA : 2899
## (Other) : 2 (Other) :16758
## CAPACIDAD_PAGO PORCENTAJE_COMPROMETIDO MOROSIDAD TIPO_SOCIO_FINAL
## Min. :1.000 Min. : 0 NO:49848 Length:53675
## 1st Qu.:1.000 1st Qu.: 24 SI: 3827 Class :character
## Median :1.000 Median : 48 Mode :character
## Mean :1.124 Mean : 3966
## 3rd Qu.:1.000 3rd Qu.: 70
## Max. :4.000 Max. :44521300
##
## LUGAR_DEDUCCION_FINAL SEGMENTO_CARTERA GARANTIA_FINAL ESTADO_CIVIL_FINAL
## Length:53675 Length:53675 Length:53675 Length:53675
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
##
## PROVINCIA_HABITACION GENERO PROFESION
## SAN JOSE :13429 : 682 EDUCADOR :42360
## ALAJUELA :10314 FEMENINO :38043 CONSERJE : 3551
## GUANACASTE: 6965 MASCULINO:14950 ADMINISTRADOR : 1240
## CARTAGO : 6041 COCINERO : 943
## HEREDIA : 6028 AGENTE DE SEGURIDAD: 942
## PUNTARENAS: 5630 OFICIAL : 894
## (Other) : 5268 (Other) : 3745
## EDAD
## Min. : 19.00
## 1st Qu.: 41.00
## Median : 51.00
## Mean : 52.33
## 3rd Qu.: 62.00
## Max. :100.00
##
FASE 1: LEO EL ARCHIVO DE LA MUESTRA GENERADO ANTERIORMENTE
# LECTURA MUESTRA
BASE_INTEGRADA <- read.csv(
"BASE_INTEGRADA_MUESTRA.csv",
stringsAsFactors = TRUE,
sep = ",",
dec = ".",
encoding = "latin1",
row.names = 1
)
# ELIMINAR VARIABLES TRANSFORMADAS / DUPLICADAS
BASE_INTEGRADA$FECHA_NACIMIENTO <- NULL
BASE_INTEGRADA$PROFESION <- NULL
BASE_INTEGRADA$GARANTIA <- NULL
BASE_INTEGRADA$LUGAR_DEDUCCION <- NULL
BASE_INTEGRADA$DESCRIPCION_PRESTAMO <- NULL
BASE_INTEGRADA$TIPO_SOCIO <- NULL
BASE_INTEGRADA$ESTADO_CIVIL <- NULL
# NORMALIZO ESTADO_CIVIL_FINAL
if ("ESTADO_CIVIL_FINAL" %in% names(BASE_INTEGRADA)) {
BASE_INTEGRADA$ESTADO_CIVIL_FINAL <- str_squish(toupper(BASE_INTEGRADA$ESTADO_CIVIL_FINAL))
}
# TRANSFORMO CAPACIDAD_PAGO COMO FACTOR
if ("CAPACIDAD_PAGO" %in% names(BASE_INTEGRADA)) {
BASE_INTEGRADA$CAPACIDAD_PAGO <- as.factor(BASE_INTEGRADA$CAPACIDAD_PAGO)
}
# TRANSFORMO NUMERO DE OPERACION A CARACTER
if ("NUMERO_OPERACION" %in% names(BASE_INTEGRADA)) {
BASE_INTEGRADA$NUMERO_OPERACION <- as.character(BASE_INTEGRADA$NUMERO_OPERACION)
}
# REVISION FINAL
dim(BASE_INTEGRADA)
## [1] 53675 22
head(BASE_INTEGRADA)
## NUMERO_OPERACION DIAS_MOROSOS INTERES_ACTUAL SALDO_PRESTAMO
## 182735 2022013967 0 11.00 5578670.0
## 188942 2022007532 0 11.15 2902136.0
## 134058 2018059235 0 11.00 1668058.5
## 124022 2020061615 0 11.00 16446664.7
## 160997 2022001328 0 10.00 901776.8
## 103065 2021017027 0 11.00 8121418.3
## CATEGORIA_RIESGO PLAZO_OPERACION TIPO_TASA SALARIO_LIQUIDO SEX
## 182735 A1 121 FIJA 459739.0 FEMENINO
## 188942 A1 96 VARIABLE 278562.0 MASCULINO
## 134058 B1 101 FIJA 661597.8 FEMENINO
## 124022 A1 145 FIJA 515852.5 FEMENINO
## 160997 A1 36 FIJA 559856.6 FEMENINO
## 103065 A1 72 FIJA 243593.4 FEMENINO
## CONDICION_PLAZA OFICINA_TRAMITE CAPACIDAD_PAGO PORCENTAJE_COMPROMETIDO
## 182735 PROPIEDAD OFICINA CENTRAL 1 16.92
## 188942 PROPIEDAD CARTAGO 1 66.62
## 134058 PROPIEDAD GUAPILES 2 81.16
## 124022 PROPIEDAD SANTA CRUZ 1 39.14
## 160997 PROPIEDAD OFICINA CENTRAL 1 57.17
## 103065 PROPIEDAD HEREDIA 1 55.65
## MOROSIDAD TIPO_SOCIO_FINAL LUGAR_DEDUCCION_FINAL SEGMENTO_CARTERA
## 182735 NO ACTIVO DEDUCCION_AUTOMATICA CONSUMO
## 188942 NO ACTIVO DEDUCCION_AUTOMATICA CONSUMO
## 134058 NO ACTIVO DEDUCCION_AUTOMATICA CONSUMO
## 124022 NO PENSIONADO DEDUCCION_AUTOMATICA CONSUMO
## 160997 NO PENSIONADO DEDUCCION_AUTOMATICA CONSUMO
## 103065 NO PENSIONADO DEDUCCION_AUTOMATICA CONSUMO
## GARANTIA_FINAL ESTADO_CIVIL_FINAL PROVINCIA_HABITACION GENERO EDAD
## 182735 PRENDARIA CASADO SAN JOSE FEMENINO 43
## 188942 PRENDARIA SOLTERO CARTAGO MASCULINO 39
## 134058 APORT_CAPITAL DIVORCIADO HEREDIA FEMENINO 45
## 124022 GARANTIA_ESPECIAL CASADO GUANACASTE FEMENINO 59
## 160997 MIXTA SOLTERO SAN JOSE FEMENINO 77
## 103065 POLIZA SSVMN SOLTERO HEREDIA FEMENINO 78
str(BASE_INTEGRADA)
## 'data.frame': 53675 obs. of 22 variables:
## $ NUMERO_OPERACION : chr "2022013967" "2022007532" "2018059235" "2020061615" ...
## $ DIAS_MOROSOS : int 0 0 0 0 0 0 0 0 0 0 ...
## $ INTERES_ACTUAL : num 11 11.2 11 11 10 ...
## $ SALDO_PRESTAMO : num 5578670 2902136 1668058 16446665 901777 ...
## $ CATEGORIA_RIESGO : Factor w/ 8 levels "A1","A2","B1",..: 1 1 3 1 1 1 1 1 1 1 ...
## $ PLAZO_OPERACION : int 121 96 101 145 36 72 185 108 101 84 ...
## $ TIPO_TASA : Factor w/ 3 levels "FIJA","FIJA VARIABLE",..: 1 3 1 1 1 1 3 1 1 3 ...
## $ SALARIO_LIQUIDO : num 459739 278562 661598 515852 559857 ...
## $ SEX : Factor w/ 2 levels "FEMENINO","MASCULINO": 1 2 1 1 1 1 2 1 2 1 ...
## $ CONDICION_PLAZA : Factor w/ 2 levels "INTERINO","PROPIEDAD": 2 2 2 2 2 2 2 2 1 2 ...
## $ OFICINA_TRAMITE : Factor w/ 13 levels "ALAJUELA","CARTAGO",..: 8 2 4 13 8 5 8 8 7 8 ...
## $ CAPACIDAD_PAGO : Factor w/ 4 levels "1","2","3","4": 1 1 2 1 1 1 1 1 1 1 ...
## $ PORCENTAJE_COMPROMETIDO: num 16.9 66.6 81.2 39.1 57.2 ...
## $ MOROSIDAD : Factor w/ 2 levels "NO","SI": 1 1 1 1 1 1 1 1 1 1 ...
## $ TIPO_SOCIO_FINAL : Factor w/ 4 levels "ACTIVO","EXSOCIO",..: 1 1 1 4 4 4 4 1 1 1 ...
## $ LUGAR_DEDUCCION_FINAL : Factor w/ 2 levels "DEDUCCION_AUTOMATICA",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ SEGMENTO_CARTERA : Factor w/ 4 levels "CONSUMO","TARJETAS",..: 1 1 1 1 1 1 4 4 1 2 ...
## $ GARANTIA_FINAL : Factor w/ 9 levels "APORT_CAPITAL",..: 9 9 1 5 7 8 6 5 5 2 ...
## $ ESTADO_CIVIL_FINAL : chr "CASADO" "SOLTERO" "DIVORCIADO" "CASADO" ...
## $ PROVINCIA_HABITACION : Factor w/ 9 levels "","ALAJUELA",..: 9 3 6 5 9 6 5 9 7 6 ...
## $ GENERO : Factor w/ 3 levels "","FEMENINO",..: 2 3 2 2 2 2 3 2 3 2 ...
## $ EDAD : int 43 39 45 59 77 78 59 40 37 42 ...
FASE 2: MODELADO
# CORE PARA MODELADO
vars_id <- c("NUMERO_OPERACION")
vars_num <- c(
"DIAS_MOROSOS",
"SALDO_PRESTAMO",
"PLAZO_OPERACION",
"INTERES_ACTUAL",
"SALARIO_LIQUIDO",
"PORCENTAJE_COMPROMETIDO",
"EDAD"
)
vars_cat <- c(
"CATEGORIA_RIESGO",
"CAPACIDAD_PAGO",
"SEGMENTO_CARTERA",
"GARANTIA_FINAL",
"TIPO_TASA",
"GENERO",
"PROVINCIA_HABITACION"
)
vars_core <- intersect(c(vars_id, vars_num, vars_cat), names(BASE_INTEGRADA))
BASE_MODEL_CORE <- BASE_INTEGRADA %>%
select(all_of(vars_core))
# NUMERICAS
vars_num_ok <- intersect(vars_num, names(BASE_MODEL_CORE))
BASE_MODEL_CORE[vars_num_ok] <- lapply(BASE_MODEL_CORE[vars_num_ok], function(x) as.numeric(as.character(x)))
# CATEGORICAS
vars_cat_ok <- intersect(vars_cat, names(BASE_MODEL_CORE))
BASE_MODEL_CORE[vars_cat_ok] <- lapply(BASE_MODEL_CORE[vars_cat_ok], as.factor)
# ELIMINO LOS NA
BASE_MODEL_CORE <- na.omit(BASE_MODEL_CORE)
# CREO BASE FINAL PARA FAMD (SIN VARIABLE ID)
BASE_FAMD <- BASE_MODEL_CORE %>% select(-any_of(vars_id))
kable(head(BASE_FAMD))
| 182735 |
0 |
5578670.0 |
121 |
11.00 |
459739.0 |
16.92 |
43 |
A1 |
1 |
CONSUMO |
PRENDARIA |
FIJA |
FEMENINO |
SAN JOSE |
| 188942 |
0 |
2902136.0 |
96 |
11.15 |
278562.0 |
66.62 |
39 |
A1 |
1 |
CONSUMO |
PRENDARIA |
VARIABLE |
MASCULINO |
CARTAGO |
| 134058 |
0 |
1668058.5 |
101 |
11.00 |
661597.8 |
81.16 |
45 |
B1 |
2 |
CONSUMO |
APORT_CAPITAL |
FIJA |
FEMENINO |
HEREDIA |
| 124022 |
0 |
16446664.7 |
145 |
11.00 |
515852.5 |
39.14 |
59 |
A1 |
1 |
CONSUMO |
GARANTIA_ESPECIAL |
FIJA |
FEMENINO |
GUANACASTE |
| 160997 |
0 |
901776.8 |
36 |
10.00 |
559856.6 |
57.17 |
77 |
A1 |
1 |
CONSUMO |
MIXTA |
FIJA |
FEMENINO |
SAN JOSE |
| 103065 |
0 |
8121418.3 |
72 |
11.00 |
243593.4 |
55.65 |
78 |
A1 |
1 |
CONSUMO |
POLIZA SSVMN |
FIJA |
FEMENINO |
HEREDIA |
str(BASE_FAMD)
## 'data.frame': 53675 obs. of 14 variables:
## $ DIAS_MOROSOS : num 0 0 0 0 0 0 0 0 0 0 ...
## $ SALDO_PRESTAMO : num 5578670 2902136 1668058 16446665 901777 ...
## $ PLAZO_OPERACION : num 121 96 101 145 36 72 185 108 101 84 ...
## $ INTERES_ACTUAL : num 11 11.2 11 11 10 ...
## $ SALARIO_LIQUIDO : num 459739 278562 661598 515852 559857 ...
## $ PORCENTAJE_COMPROMETIDO: num 16.9 66.6 81.2 39.1 57.2 ...
## $ EDAD : num 43 39 45 59 77 78 59 40 37 42 ...
## $ CATEGORIA_RIESGO : Factor w/ 8 levels "A1","A2","B1",..: 1 1 3 1 1 1 1 1 1 1 ...
## $ CAPACIDAD_PAGO : Factor w/ 4 levels "1","2","3","4": 1 1 2 1 1 1 1 1 1 1 ...
## $ SEGMENTO_CARTERA : Factor w/ 4 levels "CONSUMO","TARJETAS",..: 1 1 1 1 1 1 4 4 1 2 ...
## $ GARANTIA_FINAL : Factor w/ 9 levels "APORT_CAPITAL",..: 9 9 1 5 7 8 6 5 5 2 ...
## $ TIPO_TASA : Factor w/ 3 levels "FIJA","FIJA VARIABLE",..: 1 3 1 1 1 1 3 1 1 3 ...
## $ GENERO : Factor w/ 3 levels "","FEMENINO",..: 2 3 2 2 2 2 3 2 3 2 ...
## $ PROVINCIA_HABITACION : Factor w/ 9 levels "","ALAJUELA",..: 9 3 6 5 9 6 5 9 7 6 ...
FASE 3: METODO AFCM (FAMD) – REDUCCION DE DIMENSION
# APLICO FAMD AL ESTAR USANNDO VARIABLES MIXTAS
Modelo_FAMD <- FAMD(BASE_FAMD, ncp = 5, graph = FALSE)
# VER INERCIA
fviz_screeplot(Modelo_FAMD, addlabels = TRUE)

# VER VARIABLES
fviz_famd_var(Modelo_FAMD, repel = TRUE, ggtheme = theme_minimal())

# INDIVIDUOS
fviz_famd_ind(Modelo_FAMD, repel = TRUE, ggtheme = theme_minimal())

FASE 4: METODO CLUSTERING SOBRE COMPONENTES
# COMPONENTES DE INDIVIDUOS
componentes <- as.data.frame(Modelo_FAMD$ind$coord)
# HAGO UNA SELECCION DE P COMPONENTES DE 5 AL IGUAL QUE EL NCP
p <- 5
X <- componentes[, 1:p]
dim(X)
## [1] 53675 5
head(X)
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5
## 182735 -0.60302142 -0.7636101 -0.58375852 -0.28978952 0.22331853
## 188942 0.32567050 -0.3631928 -0.56560100 0.06646286 0.05991201
## 134058 0.05957503 -0.6629466 2.01138748 -0.38317959 -0.77571909
## 124022 -1.24255147 0.3261432 -0.03823085 -0.46682160 0.05667013
## 160997 0.22571215 -1.5877282 0.24684448 -2.05173479 1.22596045
## 103065 -0.02702216 -0.9562729 0.74387783 -2.49249285 1.31238847
FASE 7: VISUALIZACIONN DEL PLANO PRINCIPAL/SOBREPOSICION CON
FAMD
# INDIVIDUOS FAMD COLOREADOS POR CLUSTER
fviz_famd_ind(
Modelo_FAMD,
habillage = as.factor(Modelo_Kmeans$cluster),
repel = TRUE,
ggtheme = theme_minimal(),
legend.title = "Cluster"
)
