DATOS CREDITOJose David Quiñonez Rodriguez
Samuel Andrés Villa Aleman
Juan David Montenegro Cubillos
Diego Andres Conde Carvajal
Juan Daniel Vargas Giraldo
En el presente informe se realizó el análisis de las variables cuantitativas y cualitativas de una base de datos del programa R Studio, se creó una semilla para obtener infromación única y específica de la base de datos “datos_credito”, con el fín de generar gráficos como histogramas, diagramas de caja, de torta, barras, entre otros, como una ayuda en la interpretación de datos multivariables.
A continuación se presentan las librerias usadas para generar el código, muchos de estas librerías tienen usos específicos que optimizan la creaación de gráficos a partir de datosde una manera más simple y agradable visualmente:
library(readr)
library(datos)
library(ggplot2)
library(viridisLite)
library(viridis)
library(RColorBrewer)
library(plotrix)
library(dplyr)
library(rmarkdown)
library(descriptr)
library(tidyverse)
library(plotly)
library(gganimate)
library(graphics)
library(fdth)
library(modeest)
library(gridExtra)
library(gifski)
library(png)
La base de datos datos_credito cuenta con 4453 datos de personas en 14 variables distintas cualitativas y cuantitativas, se utilizó la función set.seed para generar una base de datos única y específica para nuestro trabajo usando el último dígito del documento de identidad de cada uno de los integrantes del grupo, junto con esto, se redujo la cantidad de datos a solo 100 pero manteniendo las 14 variables
set.seed(33354)
datos.c <- datos_credito
muestra2 <- datos.c[sample(nrow(datos.c),size=100),0:14]
head(muestra2)
## Estado Antiguedad Vivienda Plazo Edad EstadoCivil Registros Trabajo
## 2524 bueno 20 propietario 60 40 casado no fijo
## 1207 bueno 1 alquila 60 24 casado no fijo
## 2574 bueno 23 alquila 48 57 soltero sí fijo
## 1348 bueno 24 propietario 60 54 casado no freelance
## 1824 bueno 13 propietario 24 32 casado no fijo
## 640 bueno 1 padres 60 22 casado no fijo
## Gastos Ingresos Activos Deuda Cantidad Precio
## 2524 45 240 8000 0 900 950
## 1207 52 67 0 0 800 1137
## 2574 49 142 0 0 1300 1450
## 1348 45 109 17000 0 2000 3400
## 1824 75 305 8000 0 1400 2060
## 640 60 117 0 0 1100 1280
attach(muestra2)
usando este nuevo dataframe, se van a realizar los respectivos análisis
Las variables cuantitativas son tipos de datos que representan cantidades numéricas y pueden ser medidas y cuantificadas con precisión. Estas variables se expresan generalmente en números y se utilizan para realizar cálculos matemáticos y estadísticos. Ejemplos comunes de variables cuantitativas incluyen la edad, el ingreso, la temperatura, el peso y la altura. Estas variables pueden ser continuas, tomando cualquier valor dentro de un rango, o discretas, tomando valores específicos dentro de un conjunto finito.
R nos permite visualizar las medidas de tendencia central para variables cuantitativas como: mínimo, máximo, media, moda, meidana, rango, varianza, desviación, curtosis, coeficientes de variación, cuartiles y deciles.
Todo esto se puede hacer en código de forma manual, sin embargo, existen paquetes como “TIDYVERSE” el cual permite visualizar en una tabla todas las medidas de tendencia central de un datframe seleccionado, en nuestro caso, muestra2:
res_cuanti <- ds_tidy_stats(muestra2); res_cuanti
## # A tibble: 9 × 16
## vars min max mean t_mean median mode range variance stdev skew
## <chr> <int> <int> <dbl> <dbl> <int> <dbl> <int> <dbl> <dbl> <dbl>
## 1 Activos 0 30000 5.37e3 4.66e3 4000 0 30000 3.91e7 6.25e3 1.93
## 2 Antiguedad 0 33 9.76e0 9.18e0 7 0 33 8.32e1 9.12e0 0.871
## 3 Cantidad 200 2500 9.67e2 9.40e2 900 1000 2300 2.10e5 4.59e2 1.01
## 4 Deuda 0 4500 2.01e2 7.04e1 0 0 4500 4.97e5 7.05e2 4.50
## 5 Edad 19 68 3.90e1 3.87e1 39 31 49 1.51e2 1.23e1 0.354
## 6 Gastos 35 105 5.76e1 5.68e1 60 35 70 3.43e2 1.85e1 0.489
## 7 Ingresos 25 700 1.46e2 1.36e2 120 90 675 8.37e3 9.15e1 3.05
## 8 Plazo 12 60 4.44e1 4.52e1 48 60 48 2.25e2 1.50e1 -0.682
## 9 Precio 200 3400 1.39e3 1.37e3 1350 1350 3200 2.89e5 5.37e2 0.855
## # ℹ 5 more variables: kurtosis <dbl>, coeff_var <dbl>, q1 <dbl>, q3 <dbl>,
## # iqrange <dbl>
res_cuanti[2,]
## # A tibble: 1 × 16
## vars min max mean t_mean median mode range variance stdev skew
## <chr> <int> <int> <dbl> <dbl> <int> <dbl> <int> <dbl> <dbl> <dbl>
## 1 Antiguedad 0 33 9.76 9.18 7 0 33 83.2 9.12 0.871
## # ℹ 5 more variables: kurtosis <dbl>, coeff_var <dbl>, q1 <dbl>, q3 <dbl>,
## # iqrange <dbl>
El paquete de descriptr nos permitió visualizar todas las medidas de tendencia central de la variable antiguedad, ahora se visualizara la tabla de frecuencias de la variable y con esto sus respectivos gráficos.
names(muestra2)
## [1] "Estado" "Antiguedad" "Vivienda" "Plazo" "Edad"
## [6] "EstadoCivil" "Registros" "Trabajo" "Gastos" "Ingresos"
## [11] "Activos" "Deuda" "Cantidad" "Precio"
view(muestra2)
muestra2$Antiguedad
## [1] 20 1 23 24 13 1 31 8 24 0 2 1 33 6 7 0 15 3 2 5 0 3 0 3 13
## [26] 12 0 25 2 5 31 7 19 2 3 6 3 0 0 2 2 5 14 30 10 13 19 15 16 2
## [51] 2 0 21 12 30 9 2 0 28 16 5 4 33 7 9 5 1 0 18 1 12 1 11 24 0
## [76] 12 15 5 8 19 13 5 5 2 0 7 11 15 13 3 20 14 2 1 5 22 20 0 16 4
as.data.frame(table(muestra2$Antiguedad))
## Var1 Freq
## 1 0 13
## 2 1 7
## 3 2 11
## 4 3 6
## 5 4 2
## 6 5 9
## 7 6 2
## 8 7 4
## 9 8 2
## 10 9 2
## 11 10 1
## 12 11 2
## 13 12 4
## 14 13 5
## 15 14 2
## 16 15 4
## 17 16 3
## 18 18 1
## 19 19 3
## 20 20 3
## 21 21 1
## 22 22 1
## 23 23 1
## 24 24 3
## 25 25 1
## 26 28 1
## 27 30 2
## 28 31 2
## 29 33 2
tabla_CDI <- as.data.frame(table(muestra2$Antiguedad))
transform(tabla_CDI,
freqAC = cumsum(tabla_CDI$Freq),
Rel = round(prop.table(tabla_CDI$Freq),3),
RelAC = round(cumsum(prop.table(tabla_CDI$Freq)),3))
## Var1 Freq freqAC Rel RelAC
## 1 0 13 13 0.13 0.13
## 2 1 7 20 0.07 0.20
## 3 2 11 31 0.11 0.31
## 4 3 6 37 0.06 0.37
## 5 4 2 39 0.02 0.39
## 6 5 9 48 0.09 0.48
## 7 6 2 50 0.02 0.50
## 8 7 4 54 0.04 0.54
## 9 8 2 56 0.02 0.56
## 10 9 2 58 0.02 0.58
## 11 10 1 59 0.01 0.59
## 12 11 2 61 0.02 0.61
## 13 12 4 65 0.04 0.65
## 14 13 5 70 0.05 0.70
## 15 14 2 72 0.02 0.72
## 16 15 4 76 0.04 0.76
## 17 16 3 79 0.03 0.79
## 18 18 1 80 0.01 0.80
## 19 19 3 83 0.03 0.83
## 20 20 3 86 0.03 0.86
## 21 21 1 87 0.01 0.87
## 22 22 1 88 0.01 0.88
## 23 23 1 89 0.01 0.89
## 24 24 3 92 0.03 0.92
## 25 25 1 93 0.01 0.93
## 26 28 1 94 0.01 0.94
## 27 30 2 96 0.02 0.96
## 28 31 2 98 0.02 0.98
## 29 33 2 100 0.02 1.00
Como se puede observar en la tabla de frecuencias de la variable antiguedad, 0 es la moda, el número que más se repite, haciendo un análisis de esta variable se determina que las personas que quieren acceder a los créditos son personas que no tienen antiguedad, es decir, es su primera vez realizando un crédito, a partir de esto, se pueden inferir otros datos de estudio para un crédito incluidos en la base de datos como su tipo de vivienda, generalmente el tipo de personas que quieren acceder a un credito por primera vez es para comprar una vivienda, un ejemplo de esto sería el siguiente con nuestra base de datos:
muestra2[27, ]
## Estado Antiguedad Vivienda Plazo Edad EstadoCivil Registros Trabajo Gastos
## 1333 bueno 0 padres 48 28 soltero no fijo 35
## Ingresos Activos Deuda Cantidad Precio
## 1333 90 3500 0 1000 1210
Se muestra la fila 27 con los valores de una persona con 0 años de antiguedad, posiblemente es la primera vez que accede a un crédito y vive con sus padres.
## Warning: The `size` argument of `element_rect()` is deprecated as of ggplot2 3.4.0.
## ℹ Please use the `linewidth` argument instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## Warning: The `size` argument of `element_line()` is deprecated as of ggplot2 3.4.0.
## ℹ Please use the `linewidth` argument instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
res_cuanti[8,]
## # A tibble: 1 × 16
## vars min max mean t_mean median mode range variance stdev skew
## <chr> <int> <int> <dbl> <dbl> <int> <dbl> <int> <dbl> <dbl> <dbl>
## 1 Plazo 12 60 44.4 45.2 48 60 48 225. 15.0 -0.682
## # ℹ 5 more variables: kurtosis <dbl>, coeff_var <dbl>, q1 <dbl>, q3 <dbl>,
## # iqrange <dbl>
names(muestra2)
## [1] "Estado" "Antiguedad" "Vivienda" "Plazo" "Edad"
## [6] "EstadoCivil" "Registros" "Trabajo" "Gastos" "Ingresos"
## [11] "Activos" "Deuda" "Cantidad" "Precio"
view(muestra2)
muestra2$Plazo
## [1] 60 60 48 60 24 60 12 48 48 48 12 36 48 12 60 36 36 60 60 24 60 60 60 36 36
## [26] 48 48 60 12 60 24 60 24 48 48 12 30 36 48 60 24 48 60 48 60 54 60 48 60 60
## [51] 48 36 60 60 12 48 60 36 36 36 24 48 24 36 36 60 36 60 60 36 36 60 36 48 60
## [76] 12 48 36 60 60 48 36 60 60 60 48 48 36 60 48 60 48 48 24 24 24 36 60 48 48
as.data.frame(table(muestra2$Plazo))
## Var1 Freq
## 1 12 7
## 2 24 10
## 3 30 1
## 4 36 20
## 5 48 26
## 6 54 1
## 7 60 35
tabla_CDI1 <- as.data.frame(table(muestra2$Plazo))
transform(tabla_CDI1,
freqAC = cumsum(tabla_CDI1$Freq),
Rel = round(prop.table(tabla_CDI1$Freq),3),
RelAC = round(cumsum(prop.table(tabla_CDI1$Freq)),3))
## Var1 Freq freqAC Rel RelAC
## 1 12 7 7 0.07 0.07
## 2 24 10 17 0.10 0.17
## 3 30 1 18 0.01 0.18
## 4 36 20 38 0.20 0.38
## 5 48 26 64 0.26 0.64
## 6 54 1 65 0.01 0.65
## 7 60 35 100 0.35 1.00
boxplot(muestra2$Plazo,
horizontal = TRUE,
boxwex = 0.5,
boxlty = 1,
boxlwd = 5,
boxcol = 80,
boxfill = "yellow",
whisklty = 2,
whisklwd = 2,
whiskcol = "black",
border = "green",
main = "Box plot PLazo")
ggplot(muestra2, aes(x = Plazo))+
geom_histogram(bins = 11,
fill = "yellow",
colour = "black") +
labs(title = "Histograma para la variable PLAZO",
x = "PLAZO",
y = "FRECUENCIA")+
theme(plot.title = element_text(face="bold",vjust=0.5, hjust = 0.5, color="black",size=rel(1.5)))+
theme(axis.title.x = element_text(face="bold",vjust=0.5, color="black",size=rel(1.5)))+
theme(axis.title.y = element_text(face="bold",vjust=0.5, color="black",size=rel(1.5)))+
theme(panel.background = element_rect(fill = "grey")) +
theme(panel.border = element_rect(fill = "transparent",
color = "red",
size = 1.8)) +
theme(panel.grid.major.y = element_line(color = "red",
size = 0.5,
linetype = 2))
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
res_cuanti[5,]
## # A tibble: 1 × 16
## vars min max mean t_mean median mode range variance stdev skew
## <chr> <int> <int> <dbl> <dbl> <int> <dbl> <int> <dbl> <dbl> <dbl>
## 1 Edad 19 68 39.0 38.7 39 31 49 151. 12.3 0.354
## # ℹ 5 more variables: kurtosis <dbl>, coeff_var <dbl>, q1 <dbl>, q3 <dbl>,
## # iqrange <dbl>
names(muestra2)
## [1] "Estado" "Antiguedad" "Vivienda" "Plazo" "Edad"
## [6] "EstadoCivil" "Registros" "Trabajo" "Gastos" "Ingresos"
## [11] "Activos" "Deuda" "Cantidad" "Precio"
view(muestra2)
muestra2$Edad
## [1] 40 24 57 54 32 22 53 63 39 21 66 26 61 60 25 19 38 24 30 24 31 41 29 34 40
## [26] 35 28 50 26 31 58 42 52 32 39 23 22 37 46 34 57 29 64 53 33 52 47 43 39 44
## [51] 33 21 36 28 52 26 31 35 51 57 27 23 68 41 43 49 23 48 44 19 31 53 34 48 49
## [76] 40 53 28 58 35 31 45 40 26 34 42 53 52 50 36 41 44 56 22 34 46 41 23 31 25
as.data.frame(table(muestra2$Edad))
## Var1 Freq
## 1 19 2
## 2 21 2
## 3 22 3
## 4 23 4
## 5 24 3
## 6 25 2
## 7 26 4
## 8 27 1
## 9 28 3
## 10 29 2
## 11 30 1
## 12 31 6
## 13 32 2
## 14 33 2
## 15 34 5
## 16 35 3
## 17 36 2
## 18 37 1
## 19 38 1
## 20 39 3
## 21 40 4
## 22 41 4
## 23 42 2
## 24 43 2
## 25 44 3
## 26 45 1
## 27 46 2
## 28 47 1
## 29 48 2
## 30 49 2
## 31 50 2
## 32 51 1
## 33 52 4
## 34 53 5
## 35 54 1
## 36 56 1
## 37 57 3
## 38 58 2
## 39 60 1
## 40 61 1
## 41 63 1
## 42 64 1
## 43 66 1
## 44 68 1
tabla_CDI2 <- as.data.frame(table(muestra2$Edad))
transform(tabla_CDI2,
freqAC = cumsum(tabla_CDI2$Freq),
Rel = round(prop.table(tabla_CDI2$Freq),3),
RelAC = round(cumsum(prop.table(tabla_CDI2$Freq)),3))
## Var1 Freq freqAC Rel RelAC
## 1 19 2 2 0.02 0.02
## 2 21 2 4 0.02 0.04
## 3 22 3 7 0.03 0.07
## 4 23 4 11 0.04 0.11
## 5 24 3 14 0.03 0.14
## 6 25 2 16 0.02 0.16
## 7 26 4 20 0.04 0.20
## 8 27 1 21 0.01 0.21
## 9 28 3 24 0.03 0.24
## 10 29 2 26 0.02 0.26
## 11 30 1 27 0.01 0.27
## 12 31 6 33 0.06 0.33
## 13 32 2 35 0.02 0.35
## 14 33 2 37 0.02 0.37
## 15 34 5 42 0.05 0.42
## 16 35 3 45 0.03 0.45
## 17 36 2 47 0.02 0.47
## 18 37 1 48 0.01 0.48
## 19 38 1 49 0.01 0.49
## 20 39 3 52 0.03 0.52
## 21 40 4 56 0.04 0.56
## 22 41 4 60 0.04 0.60
## 23 42 2 62 0.02 0.62
## 24 43 2 64 0.02 0.64
## 25 44 3 67 0.03 0.67
## 26 45 1 68 0.01 0.68
## 27 46 2 70 0.02 0.70
## 28 47 1 71 0.01 0.71
## 29 48 2 73 0.02 0.73
## 30 49 2 75 0.02 0.75
## 31 50 2 77 0.02 0.77
## 32 51 1 78 0.01 0.78
## 33 52 4 82 0.04 0.82
## 34 53 5 87 0.05 0.87
## 35 54 1 88 0.01 0.88
## 36 56 1 89 0.01 0.89
## 37 57 3 92 0.03 0.92
## 38 58 2 94 0.02 0.94
## 39 60 1 95 0.01 0.95
## 40 61 1 96 0.01 0.96
## 41 63 1 97 0.01 0.97
## 42 64 1 98 0.01 0.98
## 43 66 1 99 0.01 0.99
## 44 68 1 100 0.01 1.00
## Warning in mean.default(muestra2$edad): argument is not numeric or logical:
## returning NA
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 100 rows containing missing values (`geom_vline()`).
res_cuanti[6,]
## # A tibble: 1 × 16
## vars min max mean t_mean median mode range variance stdev skew
## <chr> <int> <int> <dbl> <dbl> <int> <dbl> <int> <dbl> <dbl> <dbl>
## 1 Gastos 35 105 57.6 56.8 60 35 70 343. 18.5 0.489
## # ℹ 5 more variables: kurtosis <dbl>, coeff_var <dbl>, q1 <dbl>, q3 <dbl>,
## # iqrange <dbl>
names(muestra2)
## [1] "Estado" "Antiguedad" "Vivienda" "Plazo" "Edad"
## [6] "EstadoCivil" "Registros" "Trabajo" "Gastos" "Ingresos"
## [11] "Activos" "Deuda" "Cantidad" "Precio"
view(muestra2)
muestra2$Gastos
## [1] 45 52 49 45 75 60 60 45 75 60 51 35 35 90 45 35 90 60
## [19] 52 35 60 35 60 41 45 60 35 75 35 75 35 45 35 75 97 35
## [37] 60 75 72 45 45 78 60 45 45 75 90 60 60 60 45 35 83 75
## [55] 45 35 60 75 60 60 35 35 65 75 90 75 35 75 60 35 73 35
## [73] 60 75 60 75 45 45 60 45 35 90 54 45 45 60 81 105 42 82
## [91] 50 60 51 35 95 60 90 45 35 35
as.data.frame(table(muestra2$Gastos))
## Var1 Freq
## 1 35 21
## 2 41 1
## 3 42 1
## 4 45 18
## 5 49 1
## 6 50 1
## 7 51 2
## 8 52 2
## 9 54 1
## 10 60 22
## 11 65 1
## 12 72 1
## 13 73 1
## 14 75 14
## 15 78 1
## 16 81 1
## 17 82 1
## 18 83 1
## 19 90 6
## 20 95 1
## 21 97 1
## 22 105 1
tabla_CDI3 <- as.data.frame(table(muestra2$Gastos))
transform(tabla_CDI3,
freqAC = cumsum(tabla_CDI3$Freq),
Rel = round(prop.table(tabla_CDI3$Freq),3),
RelAC = round(cumsum(prop.table(tabla_CDI3$Freq)),3))
## Var1 Freq freqAC Rel RelAC
## 1 35 21 21 0.21 0.21
## 2 41 1 22 0.01 0.22
## 3 42 1 23 0.01 0.23
## 4 45 18 41 0.18 0.41
## 5 49 1 42 0.01 0.42
## 6 50 1 43 0.01 0.43
## 7 51 2 45 0.02 0.45
## 8 52 2 47 0.02 0.47
## 9 54 1 48 0.01 0.48
## 10 60 22 70 0.22 0.70
## 11 65 1 71 0.01 0.71
## 12 72 1 72 0.01 0.72
## 13 73 1 73 0.01 0.73
## 14 75 14 87 0.14 0.87
## 15 78 1 88 0.01 0.88
## 16 81 1 89 0.01 0.89
## 17 82 1 90 0.01 0.90
## 18 83 1 91 0.01 0.91
## 19 90 6 97 0.06 0.97
## 20 95 1 98 0.01 0.98
## 21 97 1 99 0.01 0.99
## 22 105 1 100 0.01 1.00
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
res_cuanti[7,]
## # A tibble: 1 × 16
## vars min max mean t_mean median mode range variance stdev skew
## <chr> <int> <int> <dbl> <dbl> <int> <dbl> <int> <dbl> <dbl> <dbl>
## 1 Ingresos 25 700 146. 136. 120 90 675 8371. 91.5 3.05
## # ℹ 5 more variables: kurtosis <dbl>, coeff_var <dbl>, q1 <dbl>, q3 <dbl>,
## # iqrange <dbl>
names(muestra2)
## [1] "Estado" "Antiguedad" "Vivienda" "Plazo" "Edad"
## [6] "EstadoCivil" "Registros" "Trabajo" "Gastos" "Ingresos"
## [11] "Activos" "Deuda" "Cantidad" "Precio"
view(muestra2)
muestra2$Ingresos
## [1] 240 67 142 109 305 117 165 107 125 160 60 335 130 700 50 100 200 147
## [19] 70 78 NA 90 100 63 193 90 90 85 105 90 160 88 180 139 223 100
## [37] NA 75 116 156 25 177 250 NA 219 80 166 100 115 88 160 130 80 110
## [55] 80 101 306 120 152 154 115 85 200 87 142 148 95 100 110 73 131 NA
## [73] 180 90 189 390 200 107 NA 163 90 150 89 120 95 132 210 274 66 222
## [91] 148 105 157 415 199 100 250 120 72 73
as.data.frame(table(muestra2$Ingresos))
## Var1 Freq
## 1 25 1
## 2 50 1
## 3 60 1
## 4 63 1
## 5 66 1
## 6 67 1
## 7 70 1
## 8 72 1
## 9 73 2
## 10 75 1
## 11 78 1
## 12 80 3
## 13 85 2
## 14 87 1
## 15 88 2
## 16 89 1
## 17 90 6
## 18 95 2
## 19 100 6
## 20 101 1
## 21 105 2
## 22 107 2
## 23 109 1
## 24 110 2
## 25 115 2
## 26 116 1
## 27 117 1
## 28 120 3
## 29 125 1
## 30 130 2
## 31 131 1
## 32 132 1
## 33 139 1
## 34 142 2
## 35 147 1
## 36 148 2
## 37 150 1
## 38 152 1
## 39 154 1
## 40 156 1
## 41 157 1
## 42 160 3
## 43 163 1
## 44 165 1
## 45 166 1
## 46 177 1
## 47 180 2
## 48 189 1
## 49 193 1
## 50 199 1
## 51 200 3
## 52 210 1
## 53 219 1
## 54 222 1
## 55 223 1
## 56 240 1
## 57 250 2
## 58 274 1
## 59 305 1
## 60 306 1
## 61 335 1
## 62 390 1
## 63 415 1
## 64 700 1
tabla_CDI4 <- as.data.frame(table(muestra2$Ingresos))
transform(tabla_CDI4,
freqAC = cumsum(tabla_CDI4$Freq),
Rel = round(prop.table(tabla_CDI4$Freq),3),
RelAC = round(cumsum(prop.table(tabla_CDI4$Freq)),3))
## Var1 Freq freqAC Rel RelAC
## 1 25 1 1 0.011 0.011
## 2 50 1 2 0.011 0.021
## 3 60 1 3 0.011 0.032
## 4 63 1 4 0.011 0.042
## 5 66 1 5 0.011 0.053
## 6 67 1 6 0.011 0.063
## 7 70 1 7 0.011 0.074
## 8 72 1 8 0.011 0.084
## 9 73 2 10 0.021 0.105
## 10 75 1 11 0.011 0.116
## 11 78 1 12 0.011 0.126
## 12 80 3 15 0.032 0.158
## 13 85 2 17 0.021 0.179
## 14 87 1 18 0.011 0.189
## 15 88 2 20 0.021 0.211
## 16 89 1 21 0.011 0.221
## 17 90 6 27 0.063 0.284
## 18 95 2 29 0.021 0.305
## 19 100 6 35 0.063 0.368
## 20 101 1 36 0.011 0.379
## 21 105 2 38 0.021 0.400
## 22 107 2 40 0.021 0.421
## 23 109 1 41 0.011 0.432
## 24 110 2 43 0.021 0.453
## 25 115 2 45 0.021 0.474
## 26 116 1 46 0.011 0.484
## 27 117 1 47 0.011 0.495
## 28 120 3 50 0.032 0.526
## 29 125 1 51 0.011 0.537
## 30 130 2 53 0.021 0.558
## 31 131 1 54 0.011 0.568
## 32 132 1 55 0.011 0.579
## 33 139 1 56 0.011 0.589
## 34 142 2 58 0.021 0.611
## 35 147 1 59 0.011 0.621
## 36 148 2 61 0.021 0.642
## 37 150 1 62 0.011 0.653
## 38 152 1 63 0.011 0.663
## 39 154 1 64 0.011 0.674
## 40 156 1 65 0.011 0.684
## 41 157 1 66 0.011 0.695
## 42 160 3 69 0.032 0.726
## 43 163 1 70 0.011 0.737
## 44 165 1 71 0.011 0.747
## 45 166 1 72 0.011 0.758
## 46 177 1 73 0.011 0.768
## 47 180 2 75 0.021 0.789
## 48 189 1 76 0.011 0.800
## 49 193 1 77 0.011 0.811
## 50 199 1 78 0.011 0.821
## 51 200 3 81 0.032 0.853
## 52 210 1 82 0.011 0.863
## 53 219 1 83 0.011 0.874
## 54 222 1 84 0.011 0.884
## 55 223 1 85 0.011 0.895
## 56 240 1 86 0.011 0.905
## 57 250 2 88 0.021 0.926
## 58 274 1 89 0.011 0.937
## 59 305 1 90 0.011 0.947
## 60 306 1 91 0.011 0.958
## 61 335 1 92 0.011 0.968
## 62 390 1 93 0.011 0.979
## 63 415 1 94 0.011 0.989
## 64 700 1 95 0.011 1.000
En este diagrama se pueden visualizar puntos verdes los cuales representan valores atípicos dentro de los datos registardos en la variable ingresos. Este tipo de valores atípicos fuera del rango de los bigotes, es decir, no se encuentran en un rango razonable, por lo tanto, pueden generarar problemas o errores en nuestras mediciones.
## Warning: Removed 5 rows containing non-finite values (`stat_bin()`).
## Warning: Removed 5 rows containing non-finite values (`stat_bin()`).
## Warning: Removed 5 rows containing non-finite values (`stat_density()`).
## Warning: Removed 100 rows containing missing values (`geom_vline()`).
## Removed 100 rows containing missing values (`geom_vline()`).
## Removed 100 rows containing missing values (`geom_vline()`).
res_cuanti[1,]
## # A tibble: 1 × 16
## vars min max mean t_mean median mode range variance stdev skew
## <chr> <int> <int> <dbl> <dbl> <int> <dbl> <int> <dbl> <dbl> <dbl>
## 1 Activos 0 30000 5368. 4655. 4000 0 30000 39064950. 6250. 1.93
## # ℹ 5 more variables: kurtosis <dbl>, coeff_var <dbl>, q1 <dbl>, q3 <dbl>,
## # iqrange <dbl>
names(muestra2)
## [1] "Estado" "Antiguedad" "Vivienda" "Plazo" "Edad"
## [6] "EstadoCivil" "Registros" "Trabajo" "Gastos" "Ingresos"
## [11] "Activos" "Deuda" "Cantidad" "Precio"
view(muestra2)
muestra2$Activos
## [1] 8000 0 0 17000 8000 0 6000 8000 6000 2500 20000 0
## [13] 8000 28000 0 0 6000 0 0 6000 5000 0 5000 30000
## [25] 3000 4500 3500 8000 0 4000 3000 4000 2500 2000 0 0
## [37] 5000 0 0 5000 2500 4000 10000 38000 4000 4000 12500 18000
## [49] 3000 2000 6000 2000 0 3500 7000 5000 4000 4000 10000 4000
## [61] 10000 0 5000 4500 24000 3000 0 7000 4000 3000 0 30000
## [73] 23000 3000 3500 8000 15000 0 0 8000 0 10000 0 3500
## [85] 10000 8000 0 8000 0 0 4000 3000 11000 0 0 10500
## [97] 13500 4000 0 0
as.data.frame(table(muestra2$Activos))
## Var1 Freq
## 1 0 29
## 2 2000 3
## 3 2500 3
## 4 3000 7
## 5 3500 4
## 6 4000 11
## 7 4500 2
## 8 5000 6
## 9 6000 5
## 10 7000 2
## 11 8000 9
## 12 10000 5
## 13 10500 1
## 14 11000 1
## 15 12500 1
## 16 13500 1
## 17 15000 1
## 18 17000 1
## 19 18000 1
## 20 20000 1
## 21 23000 1
## 22 24000 1
## 23 28000 1
## 24 30000 2
## 25 38000 1
tabla_CDI5 <- as.data.frame(table(muestra2$Activos))
transform(tabla_CDI5,
freqAC = cumsum(tabla_CDI5$Freq),
Rel = round(prop.table(tabla_CDI5$Freq),3),
RelAC = round(cumsum(prop.table(tabla_CDI5$Freq)),3))
## Var1 Freq freqAC Rel RelAC
## 1 0 29 29 0.29 0.29
## 2 2000 3 32 0.03 0.32
## 3 2500 3 35 0.03 0.35
## 4 3000 7 42 0.07 0.42
## 5 3500 4 46 0.04 0.46
## 6 4000 11 57 0.11 0.57
## 7 4500 2 59 0.02 0.59
## 8 5000 6 65 0.06 0.65
## 9 6000 5 70 0.05 0.70
## 10 7000 2 72 0.02 0.72
## 11 8000 9 81 0.09 0.81
## 12 10000 5 86 0.05 0.86
## 13 10500 1 87 0.01 0.87
## 14 11000 1 88 0.01 0.88
## 15 12500 1 89 0.01 0.89
## 16 13500 1 90 0.01 0.90
## 17 15000 1 91 0.01 0.91
## 18 17000 1 92 0.01 0.92
## 19 18000 1 93 0.01 0.93
## 20 20000 1 94 0.01 0.94
## 21 23000 1 95 0.01 0.95
## 22 24000 1 96 0.01 0.96
## 23 28000 1 97 0.01 0.97
## 24 30000 2 99 0.02 0.99
## 25 38000 1 100 0.01 1.00
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
res_cuanti[4,]
## # A tibble: 1 × 16
## vars min max mean t_mean median mode range variance stdev skew
## <chr> <int> <int> <dbl> <dbl> <int> <dbl> <int> <dbl> <dbl> <dbl>
## 1 Deuda 0 4500 201. 70.4 0 0 4500 497345. 705. 4.50
## # ℹ 5 more variables: kurtosis <dbl>, coeff_var <dbl>, q1 <dbl>, q3 <dbl>,
## # iqrange <dbl>
names(muestra2)
## [1] "Estado" "Antiguedad" "Vivienda" "Plazo" "Edad"
## [6] "EstadoCivil" "Registros" "Trabajo" "Gastos" "Ingresos"
## [11] "Activos" "Deuda" "Cantidad" "Precio"
view(muestra2)
muestra2$Deuda
## [1] 0 0 0 0 0 0 0 0 200 0 0 0 0 0 0
## [16] 0 0 0 0 3000 0 0 0 0 0 0 0 0 0 0
## [31] 0 0 0 80 0 0 0 0 0 198 0 0 0 0 0
## [46] 0 1000 0 0 0 0 0 0 1394 0 0 0 0 0 130
## [61] 0 0 2000 0 0 200 0 0 500 0 0 0 0 0 0
## [76] 0 3500 0 0 340 0 0 0 0 360 720 0 0 0 0
## [91] 0 0 4500 0 0 0 0 1000 0 0
as.data.frame(table(muestra2$Deuda))
## Var1 Freq
## 1 0 84
## 2 80 1
## 3 130 1
## 4 198 1
## 5 200 2
## 6 340 1
## 7 360 1
## 8 500 1
## 9 720 1
## 10 1000 2
## 11 1394 1
## 12 2000 1
## 13 3000 1
## 14 3500 1
## 15 4500 1
tabla_CDI6 <- as.data.frame(table(muestra2$Deuda))
transform(tabla_CDI6,
freqAC = cumsum(tabla_CDI6$Freq),
Rel = round(prop.table(tabla_CDI6$Freq),3),
RelAC = round(cumsum(prop.table(tabla_CDI6$Freq)),3))
## Var1 Freq freqAC Rel RelAC
## 1 0 84 84 0.84 0.84
## 2 80 1 85 0.01 0.85
## 3 130 1 86 0.01 0.86
## 4 198 1 87 0.01 0.87
## 5 200 2 89 0.02 0.89
## 6 340 1 90 0.01 0.90
## 7 360 1 91 0.01 0.91
## 8 500 1 92 0.01 0.92
## 9 720 1 93 0.01 0.93
## 10 1000 2 95 0.02 0.95
## 11 1394 1 96 0.01 0.96
## 12 2000 1 97 0.01 0.97
## 13 3000 1 98 0.01 0.98
## 14 3500 1 99 0.01 0.99
## 15 4500 1 100 0.01 1.00
No se puede visualizar la caja del diagrama, pero si los puntos de dispersión, esto se debe a que nuestros datos dentro de la variable deuda son muy dispersos entre si y la distribución entre ellos es asimétrica lo cual genera que se distorsione la representación del boxplot. ## HISTOGRAMA VARIABLE DEUDA
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
Para este caso en particular se obtiene que la mediana y la moda son iguales, lo obtuvimos cuando el comando ds_tidy_stats y se visualiza gráficamente en el histograma. Que la mediana y lo moda sean exactamente iguales indica que la distribución de los datos es bastante simétrica respecto al valor cero, tambien se le conoce como distribución simétrica uniimodal.
res_cuanti[9,]
## # A tibble: 1 × 16
## vars min max mean t_mean median mode range variance stdev skew
## <chr> <int> <int> <dbl> <dbl> <int> <dbl> <int> <dbl> <dbl> <dbl>
## 1 Precio 200 3400 1392. 1369. 1350 1350 3200 288902. 537. 0.855
## # ℹ 5 more variables: kurtosis <dbl>, coeff_var <dbl>, q1 <dbl>, q3 <dbl>,
## # iqrange <dbl>
Al igual que en la variable deuda, la mediana y la moda son iguales y representan una distribución simétrica en un valor específico.
names(muestra2)
## [1] "Estado" "Antiguedad" "Vivienda" "Plazo" "Edad"
## [6] "EstadoCivil" "Registros" "Trabajo" "Gastos" "Ingresos"
## [11] "Activos" "Deuda" "Cantidad" "Precio"
view(muestra2)
muestra2$Precio
## [1] 950 1137 1450 3400 2060 1280 1332 790 1409 1598 1504 700 1050 1612 1378
## [16] 650 1982 1351 1175 2262 1572 949 960 921 1000 1097 1210 2075 1258 1500
## [31] 700 1033 1380 1589 1609 1080 1426 800 965 1550 1034 960 1204 2120 1104
## [46] 1394 875 2976 1373 1452 1298 1075 1505 1082 2487 1997 2095 975 635 1090
## [61] 425 1350 1350 2104 2700 1657 1639 1129 1725 1200 200 2362 1084 975 1815
## [76] 1732 2000 1959 1996 1269 1395 1556 1457 1329 1766 1350 1538 325 865 2100
## [91] 1356 1745 2008 1757 650 1635 2200 1476 1228 814
as.data.frame(table(muestra2$Precio))
## Var1 Freq
## 1 200 1
## 2 325 1
## 3 425 1
## 4 635 1
## 5 650 2
## 6 700 2
## 7 790 1
## 8 800 1
## 9 814 1
## 10 865 1
## 11 875 1
## 12 921 1
## 13 949 1
## 14 950 1
## 15 960 2
## 16 965 1
## 17 975 2
## 18 1000 1
## 19 1033 1
## 20 1034 1
## 21 1050 1
## 22 1075 1
## 23 1080 1
## 24 1082 1
## 25 1084 1
## 26 1090 1
## 27 1097 1
## 28 1104 1
## 29 1129 1
## 30 1137 1
## 31 1175 1
## 32 1200 1
## 33 1204 1
## 34 1210 1
## 35 1228 1
## 36 1258 1
## 37 1269 1
## 38 1280 1
## 39 1298 1
## 40 1329 1
## 41 1332 1
## 42 1350 3
## 43 1351 1
## 44 1356 1
## 45 1373 1
## 46 1378 1
## 47 1380 1
## 48 1394 1
## 49 1395 1
## 50 1409 1
## 51 1426 1
## 52 1450 1
## 53 1452 1
## 54 1457 1
## 55 1476 1
## 56 1500 1
## 57 1504 1
## 58 1505 1
## 59 1538 1
## 60 1550 1
## 61 1556 1
## 62 1572 1
## 63 1589 1
## 64 1598 1
## 65 1609 1
## 66 1612 1
## 67 1635 1
## 68 1639 1
## 69 1657 1
## 70 1725 1
## 71 1732 1
## 72 1745 1
## 73 1757 1
## 74 1766 1
## 75 1815 1
## 76 1959 1
## 77 1982 1
## 78 1996 1
## 79 1997 1
## 80 2000 1
## 81 2008 1
## 82 2060 1
## 83 2075 1
## 84 2095 1
## 85 2100 1
## 86 2104 1
## 87 2120 1
## 88 2200 1
## 89 2262 1
## 90 2362 1
## 91 2487 1
## 92 2700 1
## 93 2976 1
## 94 3400 1
tabla_CDI7 <- as.data.frame(table(muestra2$Precio))
transform(tabla_CDI7,
freqAC = cumsum(tabla_CDI7$Freq),
Rel = round(prop.table(tabla_CDI7$Freq),3),
RelAC = round(cumsum(prop.table(tabla_CDI7$Freq)),3))
## Var1 Freq freqAC Rel RelAC
## 1 200 1 1 0.01 0.01
## 2 325 1 2 0.01 0.02
## 3 425 1 3 0.01 0.03
## 4 635 1 4 0.01 0.04
## 5 650 2 6 0.02 0.06
## 6 700 2 8 0.02 0.08
## 7 790 1 9 0.01 0.09
## 8 800 1 10 0.01 0.10
## 9 814 1 11 0.01 0.11
## 10 865 1 12 0.01 0.12
## 11 875 1 13 0.01 0.13
## 12 921 1 14 0.01 0.14
## 13 949 1 15 0.01 0.15
## 14 950 1 16 0.01 0.16
## 15 960 2 18 0.02 0.18
## 16 965 1 19 0.01 0.19
## 17 975 2 21 0.02 0.21
## 18 1000 1 22 0.01 0.22
## 19 1033 1 23 0.01 0.23
## 20 1034 1 24 0.01 0.24
## 21 1050 1 25 0.01 0.25
## 22 1075 1 26 0.01 0.26
## 23 1080 1 27 0.01 0.27
## 24 1082 1 28 0.01 0.28
## 25 1084 1 29 0.01 0.29
## 26 1090 1 30 0.01 0.30
## 27 1097 1 31 0.01 0.31
## 28 1104 1 32 0.01 0.32
## 29 1129 1 33 0.01 0.33
## 30 1137 1 34 0.01 0.34
## 31 1175 1 35 0.01 0.35
## 32 1200 1 36 0.01 0.36
## 33 1204 1 37 0.01 0.37
## 34 1210 1 38 0.01 0.38
## 35 1228 1 39 0.01 0.39
## 36 1258 1 40 0.01 0.40
## 37 1269 1 41 0.01 0.41
## 38 1280 1 42 0.01 0.42
## 39 1298 1 43 0.01 0.43
## 40 1329 1 44 0.01 0.44
## 41 1332 1 45 0.01 0.45
## 42 1350 3 48 0.03 0.48
## 43 1351 1 49 0.01 0.49
## 44 1356 1 50 0.01 0.50
## 45 1373 1 51 0.01 0.51
## 46 1378 1 52 0.01 0.52
## 47 1380 1 53 0.01 0.53
## 48 1394 1 54 0.01 0.54
## 49 1395 1 55 0.01 0.55
## 50 1409 1 56 0.01 0.56
## 51 1426 1 57 0.01 0.57
## 52 1450 1 58 0.01 0.58
## 53 1452 1 59 0.01 0.59
## 54 1457 1 60 0.01 0.60
## 55 1476 1 61 0.01 0.61
## 56 1500 1 62 0.01 0.62
## 57 1504 1 63 0.01 0.63
## 58 1505 1 64 0.01 0.64
## 59 1538 1 65 0.01 0.65
## 60 1550 1 66 0.01 0.66
## 61 1556 1 67 0.01 0.67
## 62 1572 1 68 0.01 0.68
## 63 1589 1 69 0.01 0.69
## 64 1598 1 70 0.01 0.70
## 65 1609 1 71 0.01 0.71
## 66 1612 1 72 0.01 0.72
## 67 1635 1 73 0.01 0.73
## 68 1639 1 74 0.01 0.74
## 69 1657 1 75 0.01 0.75
## 70 1725 1 76 0.01 0.76
## 71 1732 1 77 0.01 0.77
## 72 1745 1 78 0.01 0.78
## 73 1757 1 79 0.01 0.79
## 74 1766 1 80 0.01 0.80
## 75 1815 1 81 0.01 0.81
## 76 1959 1 82 0.01 0.82
## 77 1982 1 83 0.01 0.83
## 78 1996 1 84 0.01 0.84
## 79 1997 1 85 0.01 0.85
## 80 2000 1 86 0.01 0.86
## 81 2008 1 87 0.01 0.87
## 82 2060 1 88 0.01 0.88
## 83 2075 1 89 0.01 0.89
## 84 2095 1 90 0.01 0.90
## 85 2100 1 91 0.01 0.91
## 86 2104 1 92 0.01 0.92
## 87 2120 1 93 0.01 0.93
## 88 2200 1 94 0.01 0.94
## 89 2262 1 95 0.01 0.95
## 90 2362 1 96 0.01 0.96
## 91 2487 1 97 0.01 0.97
## 92 2700 1 98 0.01 0.98
## 93 2976 1 99 0.01 0.99
## 94 3400 1 100 0.01 1.00
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
Para la variable precio, la media, moda y la mediana coinciden en el conjunto de datos entre 1500 y 4000, esto indica que los datos están distribuidos de manera simétrica y centrada respecto a algún valor de ese rango.Es un indicador de que los datos presentan homogeneidad.
res_cuanti[3,]
## # A tibble: 1 × 16
## vars min max mean t_mean median mode range variance stdev skew
## <chr> <int> <int> <dbl> <dbl> <int> <dbl> <int> <dbl> <dbl> <dbl>
## 1 Cantidad 200 2500 967. 940. 900 1000 2300 210341. 459. 1.01
## # ℹ 5 more variables: kurtosis <dbl>, coeff_var <dbl>, q1 <dbl>, q3 <dbl>,
## # iqrange <dbl>
names(muestra2)
## [1] "Estado" "Antiguedad" "Vivienda" "Plazo" "Edad"
## [6] "EstadoCivil" "Registros" "Trabajo" "Gastos" "Ingresos"
## [11] "Activos" "Deuda" "Cantidad" "Precio"
view(muestra2)
muestra2$Cantidad
## [1] 900 800 1300 2000 1400 1100 594 600 1000 1220 500 600 850 1350 950
## [16] 650 1550 1050 950 500 1300 949 800 625 700 900 1000 1500 360 900
## [31] 700 850 580 460 1250 475 1200 500 860 1550 400 700 700 1600 950
## [46] 1300 875 2500 800 1450 1200 875 1220 900 1100 500 1000 900 500 700
## [61] 325 1200 600 2000 2500 1500 1000 1000 1300 1000 200 1900 400 400 1600
## [76] 500 1650 1160 1400 1100 1000 1100 1200 300 1350 1000 1260 300 800 1900
## [91] 835 500 1000 700 250 900 1900 1200 850 700
as.data.frame(table(muestra2$Cantidad))
## Var1 Freq
## 1 200 1
## 2 250 1
## 3 300 2
## 4 325 1
## 5 360 1
## 6 400 3
## 7 460 1
## 8 475 1
## 9 500 7
## 10 580 1
## 11 594 1
## 12 600 3
## 13 625 1
## 14 650 1
## 15 700 7
## 16 800 4
## 17 835 1
## 18 850 3
## 19 860 1
## 20 875 2
## 21 900 6
## 22 949 1
## 23 950 3
## 24 1000 9
## 25 1050 1
## 26 1100 4
## 27 1160 1
## 28 1200 5
## 29 1220 2
## 30 1250 1
## 31 1260 1
## 32 1300 4
## 33 1350 2
## 34 1400 2
## 35 1450 1
## 36 1500 2
## 37 1550 2
## 38 1600 2
## 39 1650 1
## 40 1900 3
## 41 2000 2
## 42 2500 2
tabla_CDI8 <- as.data.frame(table(muestra2$Cantidad))
transform(tabla_CDI8,
freqAC = cumsum(tabla_CDI8$Freq),
Rel = round(prop.table(tabla_CDI8$Freq),3),
RelAC = round(cumsum(prop.table(tabla_CDI8$Freq)),3))
## Var1 Freq freqAC Rel RelAC
## 1 200 1 1 0.01 0.01
## 2 250 1 2 0.01 0.02
## 3 300 2 4 0.02 0.04
## 4 325 1 5 0.01 0.05
## 5 360 1 6 0.01 0.06
## 6 400 3 9 0.03 0.09
## 7 460 1 10 0.01 0.10
## 8 475 1 11 0.01 0.11
## 9 500 7 18 0.07 0.18
## 10 580 1 19 0.01 0.19
## 11 594 1 20 0.01 0.20
## 12 600 3 23 0.03 0.23
## 13 625 1 24 0.01 0.24
## 14 650 1 25 0.01 0.25
## 15 700 7 32 0.07 0.32
## 16 800 4 36 0.04 0.36
## 17 835 1 37 0.01 0.37
## 18 850 3 40 0.03 0.40
## 19 860 1 41 0.01 0.41
## 20 875 2 43 0.02 0.43
## 21 900 6 49 0.06 0.49
## 22 949 1 50 0.01 0.50
## 23 950 3 53 0.03 0.53
## 24 1000 9 62 0.09 0.62
## 25 1050 1 63 0.01 0.63
## 26 1100 4 67 0.04 0.67
## 27 1160 1 68 0.01 0.68
## 28 1200 5 73 0.05 0.73
## 29 1220 2 75 0.02 0.75
## 30 1250 1 76 0.01 0.76
## 31 1260 1 77 0.01 0.77
## 32 1300 4 81 0.04 0.81
## 33 1350 2 83 0.02 0.83
## 34 1400 2 85 0.02 0.85
## 35 1450 1 86 0.01 0.86
## 36 1500 2 88 0.02 0.88
## 37 1550 2 90 0.02 0.90
## 38 1600 2 92 0.02 0.92
## 39 1650 1 93 0.01 0.93
## 40 1900 3 96 0.03 0.96
## 41 2000 2 98 0.02 0.98
## 42 2500 2 100 0.02 1.00
Los valores están dentro del rango
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
De nuevo, la variable cantidad, la media, moda y la mediana coinciden en el conjunto de datos entre 1900 y 2300, esto indica que los datos están distribuidos de manera simétrica y centrada respecto a algún valor de ese rango.Es un indicador de que los datos presentan homogeneidad
Se vuelven a presentar las medidas de tendencia central de las variables cuantitivas de la base de datos “datos_credito”:
ds_summary_stats(muestra2)
## ----------------------------- Variable: Antiguedad -----------------------------
##
## Univariate Analysis
##
## N 100.00 Variance 85.37
## Missing 0.00 Std Deviation 9.24
## Mean 9.69 Range 33.00
## Median 6.50 Interquartile Range 13.00
## Mode 0.00 Uncorrected SS 17841.00
## Trimmed Mean 9.01 Corrected SS 8451.39
## Skewness 0.90 Coeff Variation 95.35
## Kurtosis -0.16 Std Error Mean 0.92
##
## Quantiles
##
## Quantile Value
##
## Max 33.00
## 99% 33.00
## 95% 30.00
## 90% 24.00
## Q3 15.00
## Median 6.50
## Q1 2.00
## 10% 0.00
## 5% 0.00
## 1% 0.00
## Min 0.00
##
## Extreme Values
##
## Low High
##
## Obs Value Obs Value
## 10 0 13 33
## 16 0 63 33
## 21 0 7 31
## 23 0 31 31
## 27 0 44 30
##
##
##
## ------------------------------- Variable: Plazo -------------------------------
##
## Univariate Analysis
##
## N 100.00 Variance 222.85
## Missing 0.00 Std Deviation 14.93
## Mean 44.76 Range 48.00
## Median 48.00 Interquartile Range 24.00
## Mode 60.00 Uncorrected SS 222408.00
## Trimmed Mean 45.73 Corrected SS 22062.24
## Skewness -0.70 Coeff Variation 33.35
## Kurtosis -0.50 Std Error Mean 1.49
##
## Quantiles
##
## Quantile Value
##
## Max 60.00
## 99% 60.00
## 95% 60.00
## 90% 60.00
## Q3 60.00
## Median 48.00
## Q1 36.00
## 10% 24.00
## 5% 12.00
## 1% 12.00
## Min 12.00
##
## Extreme Values
##
## Low High
##
## Obs Value Obs Value
## 7 12 1 60
## 11 12 2 60
## 14 12 4 60
## 29 12 6 60
## 36 12 15 60
##
##
##
## -------------------------------- Variable: Edad --------------------------------
##
## Univariate Analysis
##
## N 100.00 Variance 154.19
## Missing 0.00 Std Deviation 12.42
## Mean 39.25 Range 49.00
## Median 39.00 Interquartile Range 20.25
## Mode 31.00 Uncorrected SS 169321.00
## Trimmed Mean 38.90 Corrected SS 15264.75
## Skewness 0.31 Coeff Variation 31.64
## Kurtosis -0.86 Std Error Mean 1.24
##
## Quantiles
##
## Quantile Value
##
## Max 68.00
## 99% 66.02
## 95% 60.05
## 90% 57.00
## Q3 49.25
## Median 39.00
## Q1 29.00
## 10% 23.00
## 5% 22.00
## 1% 19.00
## Min 19.00
##
## Extreme Values
##
## Low High
##
## Obs Value Obs Value
## 16 19 63 68
## 70 19 11 66
## 10 21 43 64
## 52 21 8 63
## 6 22 13 61
##
##
##
## ------------------------------- Variable: Gastos -------------------------------
##
## Univariate Analysis
##
## N 100.00 Variance 332.85
## Missing 0.00 Std Deviation 18.24
## Mean 57.28 Range 70.00
## Median 60.00 Interquartile Range 30.00
## Mode 60.00 Uncorrected SS 361052.00
## Trimmed Mean 56.40 Corrected SS 32952.16
## Skewness 0.51 Coeff Variation 31.85
## Kurtosis -0.66 Std Error Mean 1.82
##
## Quantiles
##
## Quantile Value
##
## Max 105.00
## 99% 97.08
## 95% 90.00
## 90% 82.10
## Q3 75.00
## Median 60.00
## Q1 45.00
## 10% 35.00
## 5% 35.00
## 1% 35.00
## Min 35.00
##
## Extreme Values
##
## Low High
##
## Obs Value Obs Value
## 12 35 88 105
## 13 35 35 97
## 16 35 95 95
## 20 35 14 90
## 22 35 17 90
##
##
##
## ------------------------------ Variable: Ingresos ------------------------------
##
## Univariate Analysis
##
## N 100.00 Variance 8370.67
## Missing 5.00 Std Deviation 91.49
## Mean 145.84 Range 675.00
## Median 120.00 Interquartile Range 75.50
## Mode 90.00 Uncorrected SS 2807485.00
## Trimmed Mean 135.83 Corrected SS 786842.63
## Skewness 3.05 Coeff Variation 62.73
## Kurtosis 14.27 Std Error Mean 9.39
##
## Quantiles
##
## Quantile Value
##
## Max 700.00
## 99% 432.10
## 95% 305.30
## 90% 233.20
## Q3 165.50
## Median 120.00
## Q1 90.00
## 10% 73.80
## 5% 66.70
## 1% 48.50
## Min 25.00
##
## Extreme Values
##
## Low High
##
## Obs Value Obs Value
## 39 25 14 700
## 15 50 89 415
## 11 60 72 390
## 23 63 12 335
## 84 66 54 306
##
##
##
## ------------------------------ Variable: Activos ------------------------------
##
## Univariate Analysis
##
## N 100.00 Variance 54005656.57
## Missing 0.00 Std Deviation 7348.85
## Mean 5880.00 Range 38000.00
## Median 4000.00 Interquartile Range 8000.00
## Mode 0.00 Uncorrected SS 8.804e+09
## Trimmed Mean 4866.67 Corrected SS 5346560000.00
## Skewness 2.20 Coeff Variation 124.98
## Kurtosis 5.38 Std Error Mean 734.89
##
## Quantiles
##
## Quantile Value
##
## Max 38000.00
## 99% 30080.00
## 95% 23050.00
## 90% 13650.00
## Q3 8000.00
## Median 4000.00
## Q1 0.00
## 10% 0.00
## 5% 0.00
## 1% 0.00
## Min 0.00
##
## Extreme Values
##
## Low High
##
## Obs Value Obs Value
## 2 0 44 38000
## 3 0 24 30000
## 6 0 72 30000
## 12 0 14 28000
## 15 0 65 24000
##
##
##
## ------------------------------- Variable: Deuda -------------------------------
##
## Univariate Analysis
##
## N 100.00 Variance 474170.01
## Missing 0.00 Std Deviation 688.60
## Mean 191.22 Range 4500.00
## Median 0.00 Interquartile Range 0.00
## Mode 0.00 Uncorrected SS 50599340.00
## Trimmed Mean 52.53 Corrected SS 46942831.16
## Skewness 4.63 Coeff Variation 360.11
## Kurtosis 22.71 Std Error Mean 68.86
##
## Quantiles
##
## Quantile Value
##
## Max 4500.00
## 99% 3510.00
## 95% 1019.70
## 90% 342.00
## Q3 0.00
## Median 0.00
## Q1 0.00
## 10% 0.00
## 5% 0.00
## 1% 0.00
## Min 0.00
##
## Extreme Values
##
## Low High
##
## Obs Value Obs Value
## 1 0 93 4500
## 2 0 77 3500
## 3 0 20 3000
## 4 0 63 2000
## 5 0 54 1394
##
##
##
## ------------------------------ Variable: Cantidad ------------------------------
##
## Univariate Analysis
##
## N 100.00 Variance 215451.53
## Missing 0.00 Std Deviation 464.17
## Mean 992.73 Range 2300.00
## Median 949.50 Interquartile Range 540.00
## Mode 1000.00 Uncorrected SS 119880987.00
## Trimmed Mean 966.64 Corrected SS 21329701.71
## Skewness 0.88 Coeff Variation 46.76
## Kurtosis 1.08 Std Error Mean 46.42
##
## Quantiles
##
## Quantile Value
##
## Max 2500.00
## 99% 2500.00
## 95% 1900.00
## 90% 1555.00
## Q3 1227.50
## Median 949.50
## Q1 687.50
## 10% 473.50
## 5% 358.25
## 1% 249.50
## Min 200.00
##
## Extreme Values
##
## Low High
##
## Obs Value Obs Value
## 71 200 48 2500
## 95 250 65 2500
## 84 300 4 2000
## 88 300 64 2000
## 61 325 72 1900
##
##
##
## ------------------------------- Variable: Precio -------------------------------
##
## Univariate Analysis
##
## N 100.00 Variance 292562.85
## Missing 0.00 Std Deviation 540.89
## Mean 1416.96 Range 3200.00
## Median 1364.50 Interquartile Range 605.25
## Mode 1350.00 Uncorrected SS 229741286.00
## Trimmed Mean 1394.84 Corrected SS 28963721.84
## Skewness 0.75 Coeff Variation 38.17
## Kurtosis 1.47 Std Error Mean 54.09
##
## Quantiles
##
## Quantile Value
##
## Max 3400.00
## 99% 2980.24
## 95% 2267.00
## 90% 2095.50
## Q3 1674.00
## Median 1364.50
## Q1 1068.75
## 10% 812.60
## 5% 650.00
## 1% 323.75
## Min 200.00
##
## Extreme Values
##
## Low High
##
## Obs Value Obs Value
## 71 200 4 3400
## 88 325 48 2976
## 61 425 65 2700
## 59 635 55 2487
## 16 650 72 2362
summary(muestra2)
## Estado Antiguedad Vivienda Plazo Edad
## malo :27 Min. : 0.00 ignorar : 0 Min. :12.00 Min. :19.00
## bueno:73 1st Qu.: 2.00 otra : 5 1st Qu.:36.00 1st Qu.:29.00
## Median : 6.50 propietario:56 Median :48.00 Median :39.00
## Mean : 9.69 padres :16 Mean :44.76 Mean :39.25
## 3rd Qu.:15.00 privado : 1 3rd Qu.:60.00 3rd Qu.:49.25
## Max. :33.00 alquila :22 Max. :60.00 Max. :68.00
##
## EstadoCivil Registros Trabajo Gastos Ingresos
## divorciado: 0 no:80 fijo :68 Min. : 35.00 Min. : 25.0
## casado :76 sí:20 freelance :21 1st Qu.: 45.00 1st Qu.: 90.0
## separado : 0 otros : 6 Median : 60.00 Median :120.0
## soltero :24 tiempo parcial: 5 Mean : 57.28 Mean :145.8
## viudo : 0 3rd Qu.: 75.00 3rd Qu.:165.5
## Max. :105.00 Max. :700.0
## NA's :5
## Activos Deuda Cantidad Precio
## Min. : 0 Min. : 0.0 Min. : 200.0 Min. : 200
## 1st Qu.: 0 1st Qu.: 0.0 1st Qu.: 687.5 1st Qu.:1069
## Median : 4000 Median : 0.0 Median : 949.5 Median :1364
## Mean : 5880 Mean : 191.2 Mean : 992.7 Mean :1417
## 3rd Qu.: 8000 3rd Qu.: 0.0 3rd Qu.:1227.5 3rd Qu.:1674
## Max. :38000 Max. :4500.0 Max. :2500.0 Max. :3400
##
df <- data.frame(muestra2)
resumen <- ds_tidy_stats(df)
View(resumen)
y de una manera más sencilla de visualizar los datos:
ds_tidy_stats(muestra2)
## # A tibble: 9 × 16
## vars min max mean t_mean median mode range variance stdev skew
## <chr> <int> <int> <dbl> <dbl> <int> <dbl> <int> <dbl> <dbl> <dbl>
## 1 Activos 0 30000 5.37e3 4.66e3 4000 0 30000 3.91e7 6.25e3 1.93
## 2 Antiguedad 0 33 9.76e0 9.18e0 7 0 33 8.32e1 9.12e0 0.871
## 3 Cantidad 200 2500 9.67e2 9.40e2 900 1000 2300 2.10e5 4.59e2 1.01
## 4 Deuda 0 4500 2.01e2 7.04e1 0 0 4500 4.97e5 7.05e2 4.50
## 5 Edad 19 68 3.90e1 3.87e1 39 31 49 1.51e2 1.23e1 0.354
## 6 Gastos 35 105 5.76e1 5.68e1 60 35 70 3.43e2 1.85e1 0.489
## 7 Ingresos 25 700 1.46e2 1.36e2 120 90 675 8.37e3 9.15e1 3.05
## 8 Plazo 12 60 4.44e1 4.52e1 48 60 48 2.25e2 1.50e1 -0.682
## 9 Precio 200 3400 1.39e3 1.37e3 1350 1350 3200 2.89e5 5.37e2 0.855
## # ℹ 5 more variables: kurtosis <dbl>, coeff_var <dbl>, q1 <dbl>, q3 <dbl>,
## # iqrange <dbl>
La media representa el valor que se encuentra en el centrod e los datos, esto teniendo en cuenta la suma total de dichos datos.En el contexto de nuestra vase de datos, se infiere que una media alta representa en algunos casos una tendencia positivia de una variable, un ejemplo de esto es la cantidad (967.08), indica unos valores altos en cantidad con tendencia positiva, en contraste, la variable antiguedad (9.7), presenta una media baja respecto a la cantidad, indica que las personas que quieren acceder al credito son personas que lo van a adquirir por primera vez o su rango de años dentro de un credito no es mayor a 10 años.
La mediana es una medida de tendencia central que es resistente a los valores atípicos (valores extremos) en los datos. A diferencia de la media, que puede verse afectada por valores extremos, la mediana se basa en el valor que se encuentra en el centro cuando los datos se ordenan, lo que la hace más robusta ante valores atípicos.
En nuestra base de datos encontramos que 0 es la moda que más se repite, en el contexto general no representa un aspecto positivo, por ejemplo en activos, las personas que quieren acceder a los creditos no poseen activos ni deudas, por lo que la mayoría de ellos pueden ser estudiantes o personas recien graduadas que no cuentan con ingresos ni patrimonios que respalden un crédito.
Para el caso de la deuda, la media y la moda son iguales a cero, esto indica una distribución unimodal simétrica alrededor de ese valor, del cero.
La varianza cuantifica la magnitud de la dispersión de los datos. Valores de varianza más altos indican una mayor dispersión, lo que significa que los datos tienden a estar más alejados de la media.
Como se mencionó anteriormente que hay valores que determinan las distribuciones simétricas y asimétricas de los datos respecto a un punto, el paquete Tidyverse permite visualizar la asimetría de distribución de datos. Podemos analizar que los datos de “Skew”, que se acerquen a -1, representarán un sesgo hacia la izquierda, si el valor se acerca a 0, diremos que tiene una distribución simétrica y por último, si esta es cercana a 1, tendrá un sesgo hacia la derecha.
Para finalizar, se observa la posibilidad de dependencia de unas variables cuantitativas respecto a otras, por esto generaremos gráficos de dispersión para determinar relación, correlación y datos atípicos entre dos variables.
para tener en cuenta: si los datos en el gráfico son directamente proporcionales se determinará una relación positiva o negativa
Si los puntos tienden a formar una línea o un patrón lineal, sugiere una correlación lineal entre ambas variables
library(openxlsx)
write.xlsx(muestra2, file = "PARCIAL_1_PROBABILIDAD_ESTADISTICA_GRUPO_14.xlsx")
Las variables cualitativas, también conocidas como variables categóricas, son tipos de datos que representan categorías, etiquetas o cualidades en lugar de cantidades numéricas. Estas variables no tienen un valor numérico y se utilizan para describir características o atributos que no se pueden medir de manera cuantitativa. Ejemplos de variables cualitativas incluyen el género, el estado civil, la categoría de producto o el color de los ojos. Estas variables se utilizan comúnmente en estadísticas y análisis de datos para clasificar y agrupar datos en categorías específicas.
estado <- as.data.frame(table(muestra2$Estado));estado
## Var1 Freq
## 1 malo 27
## 2 bueno 73
estado$Percent <- paste(round((estado$Freq/sum(estado$Freq))*100, 1),"%");estado$Percent
## [1] "27 %" "73 %"
vivienda <- as.data.frame(table(muestra2$Vivienda));vivienda
## Var1 Freq
## 1 ignorar 0
## 2 otra 5
## 3 propietario 56
## 4 padres 16
## 5 privado 1
## 6 alquila 22
vivienda <- vivienda[-1, ]
vivienda
## Var1 Freq
## 2 otra 5
## 3 propietario 56
## 4 padres 16
## 5 privado 1
## 6 alquila 22
vivienda$Percent <- paste(round((vivienda$Freq/sum(vivienda$Freq))*100, 1),"%");vivienda$Percent
## [1] "5 %" "56 %" "16 %" "1 %" "22 %"
estado_civil <- as.data.frame(table(muestra2$EstadoCivil));estado_civil
## Var1 Freq
## 1 divorciado 0
## 2 casado 76
## 3 separado 0
## 4 soltero 24
## 5 viudo 0
## Var1 Freq
## 1 divorciado 0
## 2 casado 76
## 3 separado 0
## 4 soltero 24
## 5 viudo 0
## Var1 Freq
## 2 casado 76
## 4 soltero 24
estado_civil1$Percent <- paste(round((estado_civil1$Freq/sum(estado_civil1$Freq))*100, 1),"%");estado_civil1$Percent
## [1] "76 %" "24 %"
registros <- as.data.frame(table(muestra2$Registros));registros
## Var1 Freq
## 1 no 80
## 2 sí 20
registros$Percent <- paste(round((registros$Freq/sum(registros$Freq))*100, 1),"%");registros$Percent
## [1] "80 %" "20 %"
trabajo <- as.data.frame(table(muestra2$Trabajo));trabajo
## Var1 Freq
## 1 fijo 68
## 2 freelance 21
## 3 otros 6
## 4 tiempo parcial 5
trabajo$Percent <- paste(round((trabajo$Freq/sum(trabajo$Freq))*100, 1),"%");trabajo$Percent
## [1] "68 %" "21 %" "6 %" "5 %"
Para las variables cualitativas no se puede decir que una categoría es “mayor” o “menor” que otra en un sentido numérico. Por lo tanto, no tiene sentido calcular la mediana, que implica la ordenación de valores, por esto, la moda es la unica medida que nos podría proporcionar una información util al momento de tratar con variables de tipo cualitativo, y así poder obtener el valor más recurrente, en cambio la mediana y la media no tienen un significado claro debido a la naturaleza discreta y no numérica de las categorías, la falta de orden y la interpretación limitada en términos estadísticos. Para este tipo de variables, es más útil utilizar herramientas de análisis de frecuencia, como tablas de frecuencia y gráficos de barras, para comprender mejor la distribución de las categorías. Por esto en los casos de las variables cualitativas utilizamos los graficos de barras y los diagramas de tortas, ya que este tipo de variables, su información relevante es su cantidad en numero de frecuencias.
En el caso de las variables cualitativas, se puede hacer uso de los diagramas de barras para comprar las recurrencias de 2 ó más variables en un mismo tipo de muestra, por lo que acontinuación demostramos comparaciones entre este mismo tipo de variables: