El objetivo de este trabajo es realizar un análisis descriptivo de la base de datos ‘datos_crédito’. Principalmente, de cada una de las variables con sus respectivas medidas. Posteriormente a esto, se harán gráficos ilustrativos de cada variable y así con estos poder concluir o reforzar análisis estadístico. Al finalizar se busca comprender de mejor manera la muestra tomada de la base de datos, se concluirán tendencias, sesgos y cosas más generales acerca de la base de datos. Aclarándose que la media tomada para el análisis es la media aritmetica. Además, sabiéndose que el conjunto de datos tienen un contexto netamente asociado a créditos de consumo de personas.

Base de datos

A continuación será presentada la base de datos (‘Datos de crédito’) de estudio a modo de data.frame que puede ser encontrada en el paquete gratuito de R como “datos”. En dónde, se tienen 14 columnas (cada una es una variable de tipo cualitativo o cuantitativo) y 100 filas (vistas individualmente como un crédito), estas tomadas de forma aleatoria dentro de la base de datos inicial que se encuentra en el paquete mencionado anteriormente. Se usarán diferentes paquetes durante la elaboración estadística de cada variable los cuales pueden verse reflejados en las líneas de código respectivas.

library(datos)
library(openxlsx)
set.seed(6813) 
datos.c <- data.frame(datos_credito) 
muestra2 <- datos.c[sample(nrow(datos.c),size=100),0:14]
muestra2

Variables a analizar

Ahora, se hará el análisis correspondiente de cada una de las siguientes variables, ya sean cualitativas o cuantitativas. Cada una variable está asociada al contexto que tiene dentro del conjunto de datos:

  • Estado = estado del crédito
  • Antigüedad = antigüedad laboral
  • Vivienda = tipo de propiedad de la vivienda
  • Plazo = plazo del crédito en meses
  • Edad = edad del cliente
  • Estado civil = estado civil del cliente
  • Registros = existencia de registros previos
  • Trabajo = tipo de trabajo
  • Gastos = cantidad o monto de gastos
  • Ingresos = cantidad o monto de ingresos
  • Activos = cantidad o monto de deudas
  • Deuda = cantidad o monto de deudas
  • Cantidad = cantidad solicitada de préstamo
  • Precio = precio del crédito

Estado

Al estado de crédito al momento de observarlo en la tabla se clasifica como una variable cualitativa con dos caracterizaciones (bueno y malo) por lo cual, al realizarse estadísticas descriptivas se obtiene

fabs_estado <- table(muestra2$Estado);fabs_estado
## 
##  malo bueno 
##    35    65
fabs_acum_estado <- cumsum(fabs_estado); fabs_acum_estado
##  malo bueno 
##    35   100
frel_estado <- (fabs_estado/length(muestra2$Estado));frel_estado
## 
##  malo bueno 
##  0.35  0.65
frel_acum_estado <- cumsum(frel_estado); frel_acum_estado
##  malo bueno 
##  0.35  1.00

Se organizan todas las pruebas de la estadística descriptiva en una tabla de frecuencias,

info_estado <- data.frame(fabs_estado, fabs_acum_estado, frel_estado, frel_acum_estado)
colnames(info_estado) <- c("1", "fabs_estado", "fabs_acum_estado", "","frel_estado", "frel_acum_estado")
info_estado <- info_estado[, -c(1)]
info_estado <- info_estado[, -c(3)]
attr(info_estado, "caption") <- "Tabla de frecuencias: Estado"
print(info_estado)
##       fabs_estado fabs_acum_estado frel_estado frel_acum_estado
## malo           35               35        0.35             0.35
## bueno          65              100        0.65             1.00

Así, se reorganiza la información descriptiva en un diagrama de pie donde se evidencia que la mayoría de personas tienen un estado bueno de crédito

library(ggplot2)
Estado <- c("Categoría 1", "Categoría 2")
porcentaje <- c(65, 35)
categoria <- c("Bueno", "Malo")
color <- c("#FFF8DC", "#EE2C2C")

# Crear un dataframe con los datos
data <- data.frame(categoria, porcentaje)

# Crear el gráfico de pastel con ggplot2
pie_chart <- ggplot(data, aes(x = factor(1), y = porcentaje, fill = categoria)) +
  geom_bar(stat = "identity", width = 1) +
  coord_polar(theta = "y") +
  theme_void() +
  scale_fill_manual(values = color) +
  geom_text(aes(label = paste(categoria, porcentaje, "%")), position = position_stack(vjust = 0.5), size = 5) +
  labs(title = "Diagrama de Pastel estado")
pie_chart

Antigüedad

Analizando la variable cuantitativa discreta “Antigüedad”, tenemos que hacer un sondeo completo por las medidas estadísticas descriptiva. En donde, entre ellas están las medidas de tendencia central, dispersión y forma, acompañadas de gráficos ilustrativos. Sabiéndose que esta variable hace referencia a la antigüedad laboral que tiene cada cliente al momento de tener créditos de consumo.

Medidas de tendencia central

Para la antigüedad se va a hallar la media aritmética, mediana y moda. Luego, se hará un análisis detallado de sus características y posibles conclusiones.

Antiguedad <- (muestra2[,2])
Antiguedad_1 <- as.matrix(Antiguedad)
colnames(Antiguedad_1) <- c("Antiguedad")
View(Antiguedad_1)

Donde, su media aritmética esta situada en

mean(Antiguedad_1)
## [1] 7.47

Lo cual nos indica que en promedio cada cliente al momento de tener créditos de consumo lleva casi 7 años y medio de antigüedad laboral. Además, tenemos que su mediana esta situada en:

median(Antiguedad_1)
## [1] 4

Donde, se concluye que en la variable, los clientes tienen de valor medio 4 años de antigüedad laboral cuando tienen créditos de consumo. Finalmente, la antigüedad laboral que mas se repite dentro de los clientes es:

mode <- function(Antiguedad_1) {
   return(as.numeric(names(which.max(table(Antiguedad_1)))))
}
mode(Antiguedad_1)
## [1] 1

1, siendo la antigüedad que más se repite en los clientes cuando tienen créditos de consumo.

Medidas de dispersión

El rango de la antigüedad laboral de los clientes se encuentra entre:

range(Antiguedad_1)
## [1]  0 43

Así, los valores se encuentran dentro del intervalo 0 a 43 años. Además, encontrando medidas de variabilidad, obtenemos que: * Varianza

var(Antiguedad_1)
##            Antiguedad
## Antiguedad   64.21121
  • Desviación estándar
sd(Antiguedad_1)
## [1] 8.01319

Concluyendo así, que la variabilidad entre los datos es de 8 puntos, lo cual indica que en general los datos tienden a estar lejos de la media.

  • Coeficiente variación
(sd(Antiguedad_1)/mean(Antiguedad_1))*100
## [1] 107.2716

Así, observamos que los datos tienen mucha variabilidad, es decir, son datos heterogéneos. Por lo que la media no es representativa en la variable.

Gráficos

Para ilustrar de mejor manera lo dicho anteriormente respecto a la antigüedad laboral de los clientes se harán gráficas tales como:

  • Comparativa centrales
barplot(c(Media = mean(Antiguedad_1), Mediana = median(Antiguedad_1), Moda = mode(Antiguedad_1)), 
                            main = 'Media, Mediana y Moda (Variable Antiguedad)', ylab = 'Valor medida', 
                             col = c("#FF4040", "#FFF8DC", "#FF7F24"), ylim = c(0,8))

Así podemos ver claramente que la variable es asimétrica, porque sus valores de media, mediana y moda no son iguales (tampoco similares).

  • Boxplot Ahora, analizando datos atipicos dentro de la variable podemos ver que,
library(ggplot2)
ggplot(muestra2, aes(x = "clientes", y = Antiguedad_1, fill = "clientes")) +
  geom_boxplot() +
  labs(title = "Boxplot de Antiguedad", x = "", y = "Antiguedad") +
  scale_fill_manual(values = "cornsilk4") +  # Personaliza el color del boxplot
  coord_cartesian(ylim = c(0, 43)) +
  guides(fill = FALSE)
## Warning: The `<scale>` argument of `guides()` cannot be `FALSE`. Use "none" instead as
## of ggplot2 3.3.4.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

Existen alrededor de 4 datos atípicos, que son superiores a 20 en la escala de la antiguedad laboral.

Vivienda

Sabiéndose que en esta variable se refiere al tipo de la propiedad de la vivienda podemos hacer análisis proporcionales. En donde, inicialmente la moda es:

library(modeest)
vivienda_1 <- (muestra2$Vivienda)
mfv(vivienda_1)
## [1] propietario
## Levels: ignorar otra propietario padres privado alquila

La frecuencia más alta de los clientes se encuentra en que viven en un tipo de vivienda como propietarios. Además, de la moda, los percentiles que podemos observar son:

summary(vivienda_1)
##     ignorar        otra propietario      padres     privado     alquila 
##           0           6          48          18           7          21

Lo cual representado gráficamente nos da una ilustración como,

library(ggplot2)
ggplot(muestra2, aes(x = vivienda_1, fill = vivienda_1)) +
  geom_bar() +
  labs(title = "Grafico de Barras de Vivienda 1", x = "Tipo de vivienda del cliente", y = "Frecuencia") +
  scale_fill_manual(values = c("#EEDFCC", "#B3EE3A", "#FF4040", "darkslategray3", "darkorchid2"))  

En donde se puede ver, lo descrito anteriormente, donde el cliente que es propietario tiene mayor frecuencia respecto al resto

Plazo

Medidas de tendencia central

  • Media
mean(muestra2$Plazo)
## [1] 46.62

La media aritmética de la variable del plazo por meses del crédito es de mas de 46 meses.

  • Moda
library(modeest)
mfv(muestra2$Plazo)
## [1] 60

Se observa una preferencia a adquirir créditos con un plazo de 60 meses.

  • Mediana
median(muestra2$Plazo)
## [1] 48

el valor medio de meses que escogen los clientes de un crédito es de 48 meses.

Medidas de Dispersión

  • Rango
range(muestra2$Plazo)
## [1] 12 60

Vemos que el rango del plazo por meses de los créditos adquiridos, es desde los 12 meses hasta los 60.

  • Varianza
var(muestra2$Plazo)
## [1] 216.6218

Al ver que la varianza es alta, esto significa que los plazo del crédito están más dispersos alrededor de la media.

  • Desviación estándar
sd(muestra2$Plazo)
## [1] 14.71808

Se ve una variación de mas de 14 meses alrededor de la media. Los valores tienden a estar más alejados de la media.

  • Coeficiente de variación
sd(muestra2$Plazo)/mean(muestra2$Plazo)
## [1] 0.3157031

Se ve una dispersión del 31,57% en la variación de los datos.

Gráficos

  • Gráfico Media, Moda y Mediana.
barplot(c(Media = mean(muestra2$Plazo), Mediana = median(muestra2$Plazo), Moda = mfv(muestra2$Plazo)),
                             main = 'Media, Mediana y Moda (Variable Plazo)', ylab = 'Plazo del credito', 
                             col = c("#7FFFD4", "#FFAEB9", "#FFBBFF"), ylim = c(0,60))

al analizar la media y la mediana, vemos que al ser mayor la mediana indica una asimetría o una distribución sesgada hacia la izquierda, con valores más altos menos frecuentes.

  • Boxplot de Plazo
boxplot(muestra2$Plazo, main="Diagrama de cajas del plazo del credito",
        ylab=" ", col="deepskyblue2", horizontal = FALSE)

Podemos ver la mediana que representa la tendencia central de los datos y al estar cerca del centro de la caja, indica una distribución asimétrica respecto al gráfico

  • Gráfico de barras de Plazo
library(ggplot2)
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
frec_Plazo <- table(muestra2$Plazo)
dfPlazo <- as.data.frame(frec_Plazo)
attach(dfPlazo)
dfPlazo <- rename(dfPlazo, Plazo = Var1, Cantidad = Freq)
dBarraPlazo <- ggplot(dfPlazo, aes(x = Plazo, y= Cantidad, fill = Cantidad)) + 
                geom_bar(stat = 'identity') +
                ylim(c(0,50))
dBarraPlazo

Se ve en la gráfica la tendencia a adquirir créditos a plazos mas largo siendo muy claro la elección de 60 meses.

  • Gráfico de Dispersión
ggplot(dfPlazo, aes(x = as.numeric(rownames(dfPlazo)), y = Cantidad)) +
  geom_point(col = "deepskyblue2") +
    theme_bw() +
      labs(title = "Grafico de Dispersion", subtitle = "Plazos del credito", y = "Número de personas", x= "Plazo")

  • Histograma de plazo
Plazohis<- density(muestra2$Plazo)
plot(Plazohis, frame = FALSE, col= "blue", main = "Histograma edad")

Vemos una asimetría negativa, lo que indica una mayor distribución de los datos en la derecha por lo que hay una tendencia a los plazos de crédito mayores.

  • QQ Plot
ggplot(muestra2, aes(sample = Plazo)) +
    geom_qq(color="deepskyblue") +
    theme_bw()+
  labs(title = "QQ plot", subtitle = "Plazo", x = "Cuantiles teoricos", y= "Cuantiles de la muestra")

Vemos que los datos no se ajustan bien a la distribución teórica, lo que indica una asimetría o sesgo.

Edad

Medidas de tendencia central

  • Media
mean(muestra2$Edad)
## [1] 36.32

La media aritmética de la edad de los clientes, es de 36,32 años.

  • Moda
library(modeest)
mfv(muestra2$Edad)
## [1] 32

El dato de la edad que mas se repite entre los clientes es de 32 años.

  • Mediana
median(muestra2$Edad)
## [1] 33

El valor medio de las edades entre los clientes es de 33 años.

Medidas de Dispersion

  • Rango
range(muestra2$Edad)
## [1] 21 61

El rango de edades de los clientes es desde los 21 hasta los 61 años.

  • Varianza
var(muestra2$Edad)
## [1] 103.4925

Al ver que la varianza es alta, esto significa que las edades de los clientes están más dispersos alrededor de la media.

  • Desviacíon estandar
sd(muestra2$Edad)
## [1] 10.17313

Se ve una variación de mas de 10 años alrededor de la media de edad. En otras palabras, los valores tienden a estar más alejados de la media.

  • Coeficiente de variacíon
sd(muestra2$Edad)/mean(muestra2$Edad)
## [1] 0.2800971

Se ve una dispersión del 28,01% en la variación de los datos de la edad. #### Gráficos

  • Gráfico Media, Moda y Mediana.
barplot(c(Media = mean(muestra2$Edad), Mediana = median(muestra2$Edad), Moda = mfv(muestra2$Edad)),
                             main = 'Media, Mediana y Moda (Variable Edad)', ylab = 'Edad', 
                             col = c("#7FFFD4", "#FFAEB9", "#FFBBFF"), ylim = c(0,40))

Se ve como la media es mayor que la mediana y la moda, lo que indica una distribución casi simétrica pero sin serlo.

  • Boxplot
boxplot(muestra2$Edad, main="Diagrama de cajas de Edad",
        ylab=" ", col="deepskyblue2", horizontal = FALSE)

En el anterior gráfico vemos que los datos tiene un rango de 40, en el primer cuartil es hasta 29 años, la mediana serian 33 años y el tercer cuartil serian 43,25 años, también al ver que su mediana esta mas hacia abajo se puede decir que tiene una leve asimetria.

  • Diagrama de Barras
library(ggplot2)
library(dplyr)
frec_Edad <- table(muestra2$Edad)
dfEdad <- as.data.frame(frec_Edad)
attach(dfEdad)
## The following objects are masked from dfPlazo:
## 
##     Freq, Var1
dfEdad <- rename(dfEdad, Edad = Var1, Cantidad = Freq)
dBarraEdad <- ggplot(dfEdad, aes(x = Edad, y= Cantidad, fill = Cantidad)) + 
                geom_bar(stat = 'identity') +
                ylim(c(0,8))
dBarraEdad

La gráfica indica que las personas alrededor de los 32 años son las que tienden a adquirir mas créditos.

  • Gráfica de Dispersión
ggplot(dfEdad, aes(x = as.numeric(rownames(dfEdad)), y = Cantidad)) +
  geom_point(col = "deepskyblue2") +
    theme_bw() +
      labs(title = "Grafico de Dispersion", subtitle = "Edades", y = "Número de personas", x= "Edades")

  • Histograma
Edadhis<- density(muestra2$Edad)
plot(Edadhis, frame = FALSE, col= "blue", main = "Histograma edad")

Se puede ver que los datos son asimétricos hacia la derecha es decir una asimetría positiva.

Estado civil

fabs_EstCivil <- table(muestra2$EstadoCivil);fabs_EstCivil
## 
## divorciado     casado   separado    soltero      viudo 
##          0         73          4         23          0
fabs_acum_EstCivil  <- cumsum(fabs_EstCivil); fabs_acum_EstCivil
## divorciado     casado   separado    soltero      viudo 
##          0         73         77        100        100
frel_EstCivil  <- (fabs_EstCivil/length(muestra2$EstadoCivil));frel_EstCivil
## 
## divorciado     casado   separado    soltero      viudo 
##       0.00       0.73       0.04       0.23       0.00
frel_acum_EstCivil  <- cumsum(frel_EstCivil); frel_acum_EstCivil
## divorciado     casado   separado    soltero      viudo 
##       0.00       0.73       0.77       1.00       1.00

Se organizan todas las pruebas de la estadística descriptiva en una tabla de frecuencias

info_EstCivil <- data.frame(fabs_EstCivil, fabs_acum_EstCivil, frel_EstCivil, frel_acum_EstCivil)
colnames(info_EstCivil) <- c("1", "fabs_EstCivil", "fabs_acum_EstCivil", "","frel_EstCivil", "frel_acum_EstCivil")
info_EstCivil <- info_EstCivil[, -c(1)]
info_EstCivil <- info_EstCivil[, -c(3)]
attr(info_EstCivil, "caption") <- "Tabla de frecuencias: Estado civil"
print(info_EstCivil)
##            fabs_EstCivil fabs_acum_EstCivil frel_EstCivil frel_acum_EstCivil
## divorciado             0                  0          0.00               0.00
## casado                73                 73          0.73               0.73
## separado               4                 77          0.04               0.77
## soltero               23                100          0.23               1.00
## viudo                  0                100          0.00               1.00

Así, se reorganiza la información descriptiva en un diagrama de pie donde se evidencia que la mayoría de personas tienen un estado bueno de crédito

library(ggplot2)
library(forcats)
Estado_civil <- c("Categoría 1", "Categoría 2")
porcentaje <- c(0, 73, 4, 23, 0)
categoria <- c("Divorciado", "Casado", "Separado", "Soltero", "Viudo")
color <- c("#E066FF", "slategray1", "#68228B", "#FF6EB4" )

# Crear un dataframe con los datos
data <- data.frame(categoria, porcentaje)

# Colapsar las categorías con porcentaje cero en una sola categoría
data$categoria <- fct_collapse(data$categoria, "Divorciado y viudo) " = c("Divorciado", "Viudo"))

pie_chart <- ggplot(data, aes(x = factor(1), y = porcentaje, fill = categoria)) +
  geom_bar(stat = "identity", width = 1) +
  coord_polar(theta = "y") +
  theme_void() +
  scale_fill_manual(values = color) +
  geom_text(aes(label = paste(porcentaje, "%")), position = position_stack(vjust = 0.5), size = 5) +
  labs(title = "Diagrama de Pastel estado civil")
pie_chart

El diagrama de pie demuestra que la mayoría de personas que adquieren un crédito se encuentran casadas (73%) y el 23% de la población muestral son solteras, estas dos categorías representan el 96% de la población total.

Registros

fabs_registros <- table(muestra2$Registros); fabs_registros
## 
## no sí 
## 79 21
fabs_acum_registros  <- cumsum(fabs_registros); fabs_acum_registros
##  no  sí 
##  79 100
frel_registros  <- (fabs_registros/length(muestra2$Registros)); frel_registros
## 
##   no   sí 
## 0.79 0.21
frel_acum_registros  <- cumsum(frel_registros); frel_acum_registros
##   no   sí 
## 0.79 1.00

Se organizan todas las pruebas de la estadística descriptiva en una tabla de frecuencias

info_registros <- data.frame(fabs_registros, fabs_acum_registros, frel_registros, frel_acum_registros)
colnames(info_registros) <- c("1", "fabs_registros", "fabs_acum_registros", "", "frel_registros", "frel_acum_registros")
info_registros <- info_registros[, -c(1)]
info_registros <- info_registros[, -c(3)]
attr(info_registros, "caption") <- "Tabla de frecuencias: Registros"
print(info_registros)
##    fabs_registros fabs_acum_registros frel_registros frel_acum_registros
## no             79                  79           0.79                0.79
## sí             21                 100           0.21                1.00

Así, se reorganiza la información descriptiva en un diagrama de pie donde se evidencia que la mayoría de personas tienen una existencia a un registro previo a tener créditos de consumo.

library(ggplot2)
Registro <- c("Categoría 1", "Categoría 2")
porcentaje <- c(21, 79)
categoria <- c("Si", "No" )
color <- c("#1874CD", "slategray1" )

# Crear un dataframe con los datos
data <- data.frame(categoria, porcentaje)


pie_chart <- ggplot(data, aes(x = factor(1), y = porcentaje, fill = categoria)) +
  geom_bar(stat = "identity", width = 1) +
  coord_polar(theta = "y") +
  theme_void() +
  scale_fill_manual(values = color) +
  geom_text(aes(label = paste(porcentaje, "%")), position = position_stack(vjust = 0.5), size = 5) +
  labs(title = "Diagrama de Pastel registros")
pie_chart

Trabajo

En la siguiente variable vamos a encontrar el tipo de trabajo que tienen cada uno de los clientes de la muestra. Pudimos observar que los tipos de trabajo son: Fijo, Freelance, Tiempo parcial.

  • Tablas de frecuencias
table(muestra2$Trabajo)
## 
##           fijo      freelance          otros tiempo parcial 
##             69             21              0             10
trabajo_1 <- (muestra2$Trabajo);trabajo_1
##   [1] fijo           fijo           tiempo parcial fijo           fijo          
##   [6] tiempo parcial fijo           fijo           fijo           fijo          
##  [11] freelance      fijo           fijo           freelance      freelance     
##  [16] fijo           fijo           tiempo parcial fijo           fijo          
##  [21] fijo           freelance      fijo           freelance      freelance     
##  [26] freelance      fijo           fijo           fijo           freelance     
##  [31] fijo           fijo           tiempo parcial fijo           fijo          
##  [36] freelance      fijo           fijo           fijo           fijo          
##  [41] freelance      fijo           fijo           freelance      tiempo parcial
##  [46] tiempo parcial fijo           freelance      fijo           fijo          
##  [51] fijo           fijo           fijo           freelance      fijo          
##  [56] fijo           fijo           fijo           fijo           fijo          
##  [61] fijo           fijo           tiempo parcial fijo           fijo          
##  [66] fijo           fijo           fijo           tiempo parcial freelance     
##  [71] fijo           fijo           fijo           fijo           fijo          
##  [76] freelance      freelance      fijo           freelance      tiempo parcial
##  [81] fijo           fijo           freelance      fijo           fijo          
##  [86] fijo           freelance      fijo           fijo           fijo          
##  [91] fijo           fijo           fijo           freelance      fijo          
##  [96] fijo           tiempo parcial freelance      fijo           fijo          
## Levels: fijo freelance otros tiempo parcial
install.packages("modeest")
## Warning: package 'modeest' is in use and will not be installed
library(modeest)
library(ggplot2)
ggplot(muestra2, aes(x = trabajo_1, fill = trabajo_1)) +
  geom_bar() +
  labs(title = "Grafico de Barras de Trabajo 1", x = "Tipo de Trabajo ", y = "Frecuencia") +
  scale_fill_manual(values = c("#EEDFCC", "#FF4040", "darkslategray3", "darkorchid2"))

summary(muestra2$Trabajo)
##           fijo      freelance          otros tiempo parcial 
##             69             21              0             10

A partir de la gráfica podemos ver que el tipo de trabajo que más se repite es el de trabajo fijo con una frecuencia superior a 60 individuos, seguido a este, encontramos el Trabajo Freelance con una frecuencia superior a 20 individuos y por último esta el trabajo a Tiempo Parcial.

Gastos

Medidas de tendencia central

  • Media
mean(muestra2$Gastos)
## [1] 54.07

La media aritmética de los gastos de los clientes es de 54,07 dolares.

  • Moda
library(modeest)
mfv(muestra2$Gastos)
## [1] 35

El monto de gasto mas común entre los clientes es de 35 dolares

  • Mediana
median(muestra2$Gastos)
## [1] 47

El valor medio de los gastos entre los clientes es de 47 dolares.

Medidas de Dispersion

  • Rango
range(muestra2$Gastos)
## [1] 35 90

El rango de los gastos es desde los 35 dólares hasta los 90 dólares.

  • Varianza
var(muestra2$Gastos)
## [1] 294.6112

Vemos una varianza muy elevada, lo que indica un alejamiento de los datos de la media de los gastos.

  • Desviación estándar
sd(muestra2$Gastos)
## [1] 17.16424

Se ve una desviación de mas de 17 dolares alrededor de la media de los gastos entre los clientes.

  • Coeficiente de variación
sd(muestra2$Gastos)/mean(muestra2$Gastos)
## [1] 0.3174448

Vemos una variación del 31,74% de los gastos.

Gráficos

  • Gráfico Media, Moda y Mediana.
barplot(c(Media = mean(muestra2$Gastos), Mediana = median(muestra2$Gastos), Moda = mfv(muestra2$Gastos)),
                             main = 'Media, Mediana y Moda (Variable Gastos)', ylab = 'Gastos', 
                             col = c("#7FFFD4", "#FFAEB9", "#FFBBFF"), ylim = c(0,60))

Se ve como la media es mayor que la mediana y la moda, lo que indica una distribución sesgada hacia la derecha.

  • Boxplot
boxplot(muestra2$Gastos, main="Diagrama de cajas de Gastos",
        ylab=" ", col="deepskyblue2", horizontal = FALSE)

Podemos ver la mediana que representa la tendencia central de los datos y al estar cerca del centro de la caja, indica una distribución asimétrica.

  • Diagrama de Barras
library(ggplot2)
library(dplyr)
frec_Gastos <- table(muestra2$Gastos)
dfGastos <- as.data.frame(frec_Gastos)
attach(dfGastos)
## The following objects are masked from dfEdad:
## 
##     Freq, Var1
## The following objects are masked from dfPlazo:
## 
##     Freq, Var1
dfGastos <- rename(dfGastos, Gastos = Var1, Cantidad = Freq)
dBarraGastos <- ggplot(dfGastos, aes(x = Gastos, y= Cantidad, fill = Cantidad)) + 
                geom_bar(stat = 'identity') +
                ylim(c(0,30))
dBarraGastos

Se ve una distribución de los gastos muy variada, tendiendo a una mayoría de los gastos por un valor de 35 dolares.

  • Gráfica de Dispersión
ggplot(dfGastos, aes(x = as.numeric(rownames(dfGastos)), y = Cantidad)) +
  geom_point(col = "deepskyblue2") +
    theme_bw() +
      labs(title = "Grafico de Dispersion", subtitle = "Gastos (USD)", y = "Número de personas", x= "Gastos")

  • Histograma
Gastoshis<- density(muestra2$Gastos)
plot(Edadhis, frame = FALSE, col= "blue", main = "Histograma Gastos")

Se puede ver que los datos son asimétricos hacia la derecha es decir una asimetría positiva.

Ingresos

El análisis de esta variable se hará exluyendo todos aquellos valores NA que se tienen en el registro.

Medidas de tendencia central

  • Media
Ingresos <- (muestra2$Ingresos)
prom_ingresos <- mean(Ingresos, na.rm = TRUE)

cat("El promedio de los ingresos es", prom_ingresos)
## El promedio de los ingresos es 143.0575
  • Mediana
Ingresos <- muestra2$Ingresos

# Ordenar los ingresos en orden descendente
Ingresos_ordenados <- sort(Ingresos, decreasing = TRUE)

# Calcular la mediana de los ingresos ignorando NA
mediana_ingresos <- median(Ingresos_ordenados, na.rm = TRUE)

cat("La mediana de los ingresos es", mediana_ingresos)
## La mediana de los ingresos es 120
  • Moda
Ingresos <- (muestra2$Ingresos)
moda_Ingresos <- function(Ingresos) {
   return(as.numeric(names(which.max(table(Ingresos)))))
}
moda_Ingresos(Ingresos)
## [1] 120
cat("La moda de los datos es", 120)
## La moda de los datos es 120

Este dato quiere decir que la mayoría o el dato que mas se repite es para los ingresos de 143.05

Medidas de variabilidad

attach(muestra2)
## The following objects are masked _by_ .GlobalEnv:
## 
##     Antiguedad, Estado, Ingresos
  • rango
Ingresos <- muestra2$Ingresos

# Calcular el rango de los ingresos ignorando NA
rango_ingresos <- range(Ingresos, na.rm = TRUE)
rango_ingresos
## [1]  38 400

Así, el rango entre los datos es desde ingresos de 38 hasta 400 dólares. * Varianza

Ingresos <- muestra2$Ingresos

# Calcular la varianza de los ingresos ignorando NA
varianza_ingresos <- round(var(Ingresos, na.rm = TRUE), 3)

cat("La varianza de los ingresos es", varianza_ingresos)
## La varianza de los ingresos es 5968.776
  • Desviación estándar
Ingresos <- muestra2$Ingresos

# Calcular la desviación estándar de los ingresos ignorando NA
desvest_ingresos <- round(sd(Ingresos, na.rm = TRUE), 3)

cat("La desviación estándar de los ingresos es", desvest_ingresos)
## La desviación estándar de los ingresos es 77.258

Lo cual indica que son dispersos respecto a la media.

  • Coeficiente de variación
coef_var_ingresos <- desvest_ingresos/ prom_ingresos
cat("El coeficiente de variacion es", coef_var_ingresos)
## El coeficiente de variacion es 0.5400487
  • Cuartiles
Ingresos <- muestra2$Ingresos

# Calcular los cuartiles de los ingresos ignorando NA
q_Ingresos <- quantile(x = Ingresos, probs = c(0, 0.25, 0.5, 0.75, 1), na.rm = TRUE)

# Mostrar los cuartiles
q_Ingresos
##    0%   25%   50%   75%  100% 
##  38.0  91.0 120.0 164.5 400.0

En la sección anterior se determinaron los cuartiles de la estadística y se organizaron en una tabla donde se evidencia el primer, segundo, tercer y cuarto cuartal, se puede asumir que está bien ya que el segundo cuartil equivale a la mediana de la estadística.

  • Rango intercuartílico
Ingresos <- muestra2$Ingresos

# Calcular el rango intercuartil (RI) ignorando NA
ri_ingresos <- quantile(Ingresos, 0.75, type = 6, na.rm = TRUE) - quantile(Ingresos, 0.25, type = 6, na.rm = TRUE)
ri_ingresos
## 75% 
##  78
# Calcular el límite inferior (LI) ignorando NA
li_ingresos <- quantile(Ingresos, 0.25, type = 6, na.rm = TRUE)
li_ingresos
## 25% 
##  90
# Calcular el límite superior (LS) ignorando NA
ls_ingresos <- quantile(Ingresos, 0.75, type = 6, na.rm = TRUE)
ls_ingresos
## 75% 
## 168

Gráficos

Ingresos <- muestra2$Ingresos

# Crear un diagrama de caja para los ingresos sin NA
boxplot(Ingresos, id = list(method = "y"), col = "lightblue", horizontal = FALSE, main = "Diagrama de caja para Ingresos", outline = FALSE)

El boxplot anterior demuestra que la mayoría de las personas de la muestra tienden a tener unos ingresos similares pero mayores al promedio.

  • Curtosis

Para poder realizar las pruebas de curtosis y skewness se necesita la libreria moments

library(moments)
## 
## Attaching package: 'moments'
## The following object is masked from 'package:modeest':
## 
##     skewness
Ingresos <- muestra2$Ingresos

# Calcular la kurtosis de los ingresos sin NA
k_ingresos <- kurtosis(Ingresos, na.rm = TRUE)
k_ingresos
## [1] 4.245865
library(ggplot2)

# Filtrar y eliminar NA de la columna 'Ingresos'
Ingresos <- muestra2$Ingresos[!is.na(muestra2$Ingresos)]

# Crear un data frame con los ingresos sin NA
df <- data.frame(Ingresos)

# Verificar que haya valores numéricos finitos
if(length(df$Ingresos) > 0) {
  # Calcular la media y la desviación estándar de los ingresos sin NA
  media_ingresos <- mean(df$Ingresos)
  desviacion_estandar_ingresos <- sd(df$Ingresos)

  # Crear un rango de valores
  rango_valores <- seq(min(df$Ingresos), max(df$Ingresos), length.out = 1000)

  # Calcular la densidad normal
  densidad_normal <- dnorm(rango_valores, mean = media_ingresos, sd = desviacion_estandar_ingresos)

  # Crear el gráfico
  ggplot(df, aes(x = Ingresos)) + 
    geom_histogram(aes(y = ..density..), binwidth = 10,
                   colour = "black", fill = "white") +
    geom_density(lwd = 1, colour = "red", fill = "red", alpha = 0.25) +
    theme_minimal()
} else {
  cat("No hay valores numéricos finitos en la columna 'Ingresos'.")
}
## Warning: The dot-dot notation (`..density..`) was deprecated in ggplot2 3.4.0.
## ℹ Please use `after_stat(density)` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

como se evidencia en el gráfico el pico es bastante achatado, a pesar de que la kurtosis es positiva su valor es bastante bajo lo que indica que los datos no tienen buena distribución normal, ademas de la deformación en las colas de la campana.

library(e1071)
## 
## Attaching package: 'e1071'
## The following objects are masked from 'package:moments':
## 
##     kurtosis, moment, skewness
## The following object is masked from 'package:modeest':
## 
##     skewness
Ingresos <- muestra2$Ingresos

# Calcular el sesgo de los ingresos sin NA
sesgo_ingresos <- skewness(Ingresos, na.rm = TRUE)
sesgo_ingresos
## [1] 1.330451

Apoyado en la prueba de skewness se confirma la simetría de la distribución, si skewness > 0 la distribución presenta una deformación en la cola derecha lo que significa que la suposición realizada con el diagrama de boxplot fue correcta, que, la mayoría de las personas tienen mayores ingresos que el promedio.

Activos

Los activos pueden indicar la estabilidad financiera de los individuos, a continuación encontraremos la frecuencia absoluta, frecuencia absoluta acumulada, frecuencia relativa y frecuencia relativa acumulada de los datos obtenidos en la muestra.

frec_act <- table(muestra2$Activos)
frecacum_act <- cumsum(frec_act)
frecrel_act <- frec_act/length(muestra2$Activos)
frecrelacum_act <-  cumsum(frecrel_act)
tabla_frec_act <- cbind(frec_act,frecacum_act,frecrel_act,frecrelacum_act);tabla_frec_act
##        frec_act frecacum_act frecrel_act frecrelacum_act
## 0            38           38        0.38            0.38
## 1200          1           39        0.01            0.39
## 1500          2           41        0.02            0.41
## 2000          2           43        0.02            0.43
## 2500          5           48        0.05            0.48
## 2800          1           49        0.01            0.49
## 3000          3           52        0.03            0.52
## 3500          2           54        0.02            0.54
## 4000          5           59        0.05            0.59
## 4500          6           65        0.06            0.65
## 5000          7           72        0.07            0.72
## 5100          1           73        0.01            0.73
## 6000          3           76        0.03            0.76
## 6500          1           77        0.01            0.77
## 7000          2           79        0.02            0.79
## 7500          1           80        0.01            0.80
## 8000          3           83        0.03            0.83
## 9000          3           86        0.03            0.86
## 10000         2           88        0.02            0.88
## 11500         1           89        0.01            0.89
## 12000         1           90        0.01            0.90
## 14000         2           92        0.02            0.92
## 15000         2           94        0.02            0.94
## 18000         1           95        0.01            0.95
## 20000         2           97        0.02            0.97
## 25000         2           99        0.02            0.99
## 100000        1          100        0.01            1.00

Medidas de tendencia central

A continuación, hallaremos para los activos la media aritmética, moda y mediana La media aritmética esta situada en:

media_act <- mean(muestra2$Activos)
media_act
## [1] 5331

Lo cual indica que los activos están en un promedio de 5331 dólares.

  • Mediana La Mediana se encuentra en:
median_act <- median(muestra2$Activos);median_act
## [1] 3000

Indica que el valor medio de los activos está situado en 3000 dólares.

  • Moda La moda se encuentra en 0 activo, es el valor que más se repite en esta variable

Medidas de dispersión

  • Rango Su rango es:
rango_act <- range(muestra2$Activos);rango_act
## [1]      0 100000

Indica que los valores oscilan entre 0 y 100000 dólares.

En activos, la varianza es:

var_act <-var(muestra2$Activos) ;var_act
## [1] 122190241
desviación_act <-sd(muestra2$Activos) ;desviación_act
## [1] 11053.97

Su desviación indica dispersión de los datos respecto a la media.

coeficiente_act <- (desviación_act/media_act)*100;coeficiente_act
## [1] 207.3526

Gráficos

  • Boxplot Ahora, analizando datos atípicos dentro de la variable podemos ver que,
library(ggplot2)
ggplot(muestra2, aes(x = "clientes", y = Activos , fill = "clientes")) +
  geom_boxplot() +
  labs(title = "Boxplot de Activos", x = "", y = "Activos") +
  scale_fill_manual(values = "cornsilk4") +  
  coord_cartesian(ylim = c(0,100000))

Los datos son realmente dispersos e indican unos otuliers que tienen una cantidad considerable de activos. Además, es claro ver que la variable tiene una asimetria bastante notoria.

Deuda

Cantidad o monto de deudas

frec_de <- table(muestra2$Deuda)
frecacum_de <- cumsum(frec_de)
frecrel_de <- frec_de/length(muestra2$Deuda)
frecrelacum_de <-  cumsum(frecrel_de)
tabla_frec_de <- cbind(frec_de,frecacum_de,frecrel_de,frecrelacum_de);tabla_frec_de
##      frec_de frecacum_de frecrel_de frecrelacum_de
## 0         79          79       0.79           0.79
## 30         1          80       0.01           0.80
## 400        1          81       0.01           0.81
## 450        1          82       0.01           0.82
## 600        2          84       0.02           0.84
## 700        1          85       0.01           0.85
## 800        2          87       0.02           0.87
## 1000       2          89       0.02           0.89
## 1100       1          90       0.01           0.90
## 1700       1          91       0.01           0.91
## 1810       1          92       0.01           0.92
## 2000       1          93       0.01           0.93
## 2500       1          94       0.01           0.94
## 3000       2          96       0.02           0.96
## 3500       1          97       0.01           0.97
## 3700       1          98       0.01           0.98
## 3900       1          99       0.01           0.99
## 4000       1         100       0.01           1.00

Medidas de tendencia central

  • Media
media_de <- mean(muestra2$Deuda);media_de
## [1] 365.9

En promedio las personas deben 365.9 dólares * Mediana

median_de<- median(muestra2$Deuda);median_de
## [1] 0

El valor medio del monto de la deuda de las personas es de 0 dólares. * Moda

library(modeest)
mode_de<- mfv(muestra2$Deuda);mode_de
## [1] 0

Así, el valor de deuda más frecuente en la variable es de 0 dólares. #### Medidas de dispersión * Rango

rango_de <- range(muestra2$Deuda);rango_de
## [1]    0 4000

Como podemos ver anteriormente, el rango de precios de este conjunto es bastante amplio, esto indica estos varían significativamente en este conjunto de datos

La varianza es:

var_de<-var(muestra2$Deuda) ;var_de
## [1] 850921.4

Esto nos indica que los valores de deuda en el conjunto de datos tienen una alta una alta variabilidad en torno a su valor promedio.

  • Desviación estándar
desviación_de <-sd(muestra2$Deuda) ;desviación_de
## [1] 922.454

Esto significa que, en promedio, las cantidades de deuda en el conjunto de datos tienden a estar aproximadamente a una distancia de 922.454 unidades de la media de las cantidades de deuda.

El coeficiente de variacion es:

coeficiente_de <- (desviación_de/media_de)*100;coeficiente_de
## [1] 252.1055

Como podemos ver la desviación estándar de la variabe Deuda es apoximadamente 252.11% de la media

Gráficos

  • Diagrama de barras comparativo
medidas <- c("Media", "Mediana", "Moda")

valores <- c(media_de, median_de, mode_de)


barplot(valores, names.arg = medidas, 
        main = 'Media, Mediana y Moda (Variable Deuda)', 
        ylab = 'Valor medida', 
        col = c("#FF4040", "#FFF8DC", "#FF7F24"), ylim = c(0, 1))

Esto indica una completa asimetria, sabiendo que la mediana y la moda son cero. * Boxplot Ahora, analizando datos dentro de la variable podemos ver que,

library(ggplot2)
ggplot(muestra2, aes(x = "clientes", y = Deuda , fill = "clientes")) +
  geom_boxplot() +
  labs(title = "Boxplot de Deuda", x = "", y = "Deuda") +
  scale_fill_manual(values = "#2F4F4F") +  # Personaliza el color del boxplot
  coord_cartesian(ylim = c(0,5000))

Confirmando lo dicho anteriormente en el diagrama de barras.

Cantidad

Medidas de tendencia central

*Media

Cantidad <- (muestra2$Cantidad)
prom_cantidad <- mean(muestra2$Cantidad)
cat("El promedio de la cantidad es", prom_cantidad)
## El promedio de la cantidad es 995.7
  • Mediana
sort(muestra2$Cantidad, decreasing =TRUE)
##   [1] 2000 2000 1800 1800 1700 1700 1650 1600 1600 1600 1550 1500 1500 1500 1450
##  [16] 1420 1400 1400 1400 1400 1360 1350 1350 1300 1300 1300 1300 1300 1260 1250
##  [31] 1200 1200 1200 1200 1200 1150 1150 1100 1100 1100 1100 1100 1100 1080 1050
##  [46] 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000  950  920  900  900  900
##  [61]  875  800  800  800  800  800  800  800  775  750  700  700  660  650  600
##  [76]  600  600  600  600  600  600  600  560  550  500  500  500  500  500  500
##  [91]  450  400  400  360  350  350  300  275  250  175
mediana_cantidad <- median(muestra2$Cantidad)
cat("El valor promedio de la cantidad es", mediana_cantidad)
## El valor promedio de la cantidad es 1000
attach(muestra2)
## The following objects are masked _by_ .GlobalEnv:
## 
##     Antiguedad, Cantidad, Estado, Ingresos
## The following objects are masked from muestra2 (pos = 5):
## 
##     Activos, Antiguedad, Cantidad, Deuda, Edad, Estado, EstadoCivil,
##     Gastos, Ingresos, Plazo, Precio, Registros, Trabajo, Vivienda
  • Moda
moda_cantidad <- function(Cantidad) {
   return(as.numeric(names(which.max(table(Cantidad)))))
}
moda_cantidad(Cantidad)
## [1] 1000
cat("El valor que más se repite en los datos es", 1000)
## El valor que más se repite en los datos es 1000

Medidas de variabilidad

attach(muestra2)
## The following objects are masked _by_ .GlobalEnv:
## 
##     Antiguedad, Cantidad, Estado, Ingresos
## The following objects are masked from muestra2 (pos = 3):
## 
##     Activos, Antiguedad, Cantidad, Deuda, Edad, Estado, EstadoCivil,
##     Gastos, Ingresos, Plazo, Precio, Registros, Trabajo, Vivienda
## The following objects are masked from muestra2 (pos = 6):
## 
##     Activos, Antiguedad, Cantidad, Deuda, Edad, Estado, EstadoCivil,
##     Gastos, Ingresos, Plazo, Precio, Registros, Trabajo, Vivienda
  • Rango
Cantidad <- muestra2$Cantidad

# Calcular el rango de los cantidad ignorando NA
rango_Cantidad <- range(Cantidad, na.rm = TRUE)
rango_Cantidad
## [1]  175 2000

Los valores están entre 175 y los 2000 dólares.

  • Varianza
Cantidad <- muestra2$Cantidad

# Calcular la varianza de los cantidad ignorando NA
varianza_Cantidad <- round(var(Cantidad, na.rm = TRUE), 3)

cat("La varianza de los cantidad es", varianza_Cantidad)
## La varianza de los cantidad es 178569.2
  • Desviación estándar
Cantidad <- muestra2$Cantidad

# Calcular la desviación estándar de los cantidad ignorando NA
desvest_Cantidad <- round(sd(Cantidad, na.rm = TRUE), 3)

cat("La desviación estándar de los cantidad es", desvest_Cantidad)
## La desviación estándar de los cantidad es 422.574

Así, los valores son dispersos respecto a la media. * Coeficiente de variación

coef_var_Cantidad <- desvest_Cantidad / prom_cantidad
cat("El coeficiente de variación es", coef_var_Cantidad)
## El coeficiente de variación es 0.4243989
  • Cuartiles
Cantidad <- muestra2$Cantidad

# Calcular los cuartiles de los cantidad ignorando NA
q_Cantidad <- quantile(x = Cantidad, probs = c(0, 0.25, 0.5, 0.75, 1), na.rm = TRUE)

# Mostrar los cuartiles
q_Cantidad
##   0%  25%  50%  75% 100% 
##  175  600 1000 1300 2000

En la sección anterior se determinaron los cuartiles de la estadística y se organizaron en una tabla donde se evidencia el primer, segundo, tercer y cuarto cuartil, se puede asumir que está bien ya que el segundo cuartil equivale a la mediana de la estadística.

  • Rango intercuartílico
Cantidad <- muestra2$Cantidad

# Calcular el rango intercuartil (RI) ignorando NA
ri_Cantidad <- quantile(Cantidad, 0.75, type = 6, na.rm = TRUE) - quantile(Cantidad, 0.25, type = 6, na.rm = TRUE)
ri_Cantidad
## 75% 
## 700
# Calcular el límite inferior (LI) ignorando NA
li_Cantidad <- quantile(Cantidad, 0.25, type = 6, na.rm = TRUE)
li_Cantidad
## 25% 
## 600
# Calcular el límite superior (LS) ignorando NA
ls_Cantidad <- quantile(Cantidad, 0.75, type = 6, na.rm = TRUE)
ls_Cantidad
##  75% 
## 1300

Gráficos

*Boxplot

Cantidad <- muestra2$Cantidad

# Crear un diagrama de caja para los cantidad sin NA
boxplot(Cantidad, id = list(method = "y"), col = "lightblue", horizontal = FALSE, main = "Diagrama de caja para Cantidad", outline = FALSE)

El boxplot anterior demuestra que la mayoría de las personas de la muestra tienden a solicitar una cantidad de prestamos similar.

  • Curtosis

Para poder realizar las pruebas de curtosis y skewness se necesita la libreria moments

# Instala y carga el paquete moments si aún no lo has hecho
# install.packages("moments")
library(moments)

Cantidad <- muestra2$Cantidad

# Calcular la kurtosis de los cantidad sin NA
k_Cantidad <- kurtosis(Cantidad, na.rm = TRUE)
k_Cantidad
## [1] -0.6979955
# install.packages("ggplot2")
library(ggplot2)

Cantidad <- muestra2$Cantidad

# Crear un data frame con los cantidad sin NA
df <- data.frame(Cantidad)

# Calcular la media y la desviación estándar de los cantidad sin NA
media_Cantidad <- mean(df$Cantidad, na.rm = TRUE)
desviacion_estandar_Cantidad <- sd(df$Cantidad, na.rm = TRUE)

# Crear un rango de valores
rango_valores <- seq(min(df$Cantidad), max(df$Cantidad), length.out = 1000)

# Calcular la densidad normal
densidad_normal <- dnorm(rango_valores, mean = media_Cantidad, sd = desviacion_estandar_Cantidad)

# Crear el gráfico
ggplot(df, aes(x = Cantidad)) + 
  geom_histogram(aes(y = ..density..), binwidth = 10,
                 colour = "black", fill = "white") +
  geom_density(lwd = 1, colour = "red", fill = "red", alpha = 0.25) +
  theme_minimal()

como se evidencia en el gráfico el pico es bastante achatado, a pesar de que la kurtosis es positiva su valor es bastante bajo lo que indica que los datos no tienen buena distribución normal, ademas de la deformación en las colas de la campana.

library(e1071)

Cantidad <- muestra2$Cantidad

# Calcular el sesgo de los cantidad sin NA
sesgo_Cantidad <- skewness(Cantidad, na.rm = TRUE)
sesgo_Cantidad
## [1] 0.1851254

Apoyado en la prueba de skewness se confirma la asimetria de la distribución, si skewness >0 la distribución presenta una deformación en la cola derecha lo que significa que la suposición realizada con el diagrama de boxplot fue correcta, que, la mayoría de las personas tienden a pedir una mayor cantidad de prestamo que el promedio.

Precio

A continuación observamos una tabla en donde se encuentra la frecuencia absoluta, frecuencia absoluta acumulada, frecuencia relativa y frecuencia absoluta acumulada de la variable Precio del crédito.

frec_precio <- table(muestra2$Precio)
frecacum_precio <- cumsum(frec_precio)
frecrel_precio <- frec_precio/length(muestra2$Precio)
frecrelacum_precio <-  cumsum(frecrel_precio)
tabla_frec_precio <- cbind(frec_precio,frecacum_precio,frecrel_precio,frecrelacum_precio);tabla_frec_precio
##      frec_precio frecacum_precio frecrel_precio frecrelacum_precio
## 225            1               1           0.01               0.01
## 275            1               2           0.01               0.02
## 400            1               3           0.01               0.03
## 500            2               5           0.02               0.05
## 550            1               6           0.01               0.06
## 575            1               7           0.01               0.07
## 600            1               8           0.01               0.08
## 675            1               9           0.01               0.09
## 745            1              10           0.01               0.10
## 750            1              11           0.01               0.11
## 850            1              12           0.01               0.12
## 875            1              13           0.01               0.13
## 916            1              14           0.01               0.14
## 950            2              16           0.02               0.16
## 975            1              17           0.01               0.17
## 980            1              18           0.01               0.18
## 994            1              19           0.01               0.19
## 1021           1              20           0.01               0.20
## 1073           1              21           0.01               0.21
## 1077           1              22           0.01               0.22
## 1084           1              23           0.01               0.23
## 1100           1              24           0.01               0.24
## 1101           1              25           0.01               0.25
## 1111           1              26           0.01               0.26
## 1124           1              27           0.01               0.27
## 1150           1              28           0.01               0.28
## 1156           1              29           0.01               0.29
## 1163           1              30           0.01               0.30
## 1168           1              31           0.01               0.31
## 1175           1              32           0.01               0.32
## 1195           1              33           0.01               0.33
## 1200           1              34           0.01               0.34
## 1204           1              35           0.01               0.35
## 1212           1              36           0.01               0.36
## 1213           1              37           0.01               0.37
## 1215           1              38           0.01               0.38
## 1224           1              39           0.01               0.39
## 1238           1              40           0.01               0.40
## 1242           1              41           0.01               0.41
## 1250           1              42           0.01               0.42
## 1258           1              43           0.01               0.43
## 1265           1              44           0.01               0.44
## 1296           1              45           0.01               0.45
## 1300           2              47           0.02               0.47
## 1320           1              48           0.01               0.48
## 1346           1              49           0.01               0.49
## 1364           1              50           0.01               0.50
## 1369           1              51           0.01               0.51
## 1380           1              52           0.01               0.52
## 1386           1              53           0.01               0.53
## 1410           1              54           0.01               0.54
## 1411           1              55           0.01               0.55
## 1420           1              56           0.01               0.56
## 1435           1              57           0.01               0.57
## 1457           1              58           0.01               0.58
## 1460           1              59           0.01               0.59
## 1472           1              60           0.01               0.60
## 1475           1              61           0.01               0.61
## 1480           1              62           0.01               0.62
## 1520           1              63           0.01               0.63
## 1537           1              64           0.01               0.64
## 1550           1              65           0.01               0.65
## 1560           1              66           0.01               0.66
## 1565           1              67           0.01               0.67
## 1570           1              68           0.01               0.68
## 1600           1              69           0.01               0.69
## 1602           1              70           0.01               0.70
## 1634           1              71           0.01               0.71
## 1646           1              72           0.01               0.72
## 1650           1              73           0.01               0.73
## 1654           1              74           0.01               0.74
## 1678           1              75           0.01               0.75
## 1705           2              77           0.02               0.77
## 1714           1              78           0.01               0.78
## 1763           1              79           0.01               0.79
## 1800           1              80           0.01               0.80
## 1850           1              81           0.01               0.81
## 1852           1              82           0.01               0.82
## 1854           1              83           0.01               0.83
## 1878           1              84           0.01               0.84
## 1905           1              85           0.01               0.85
## 1923           1              86           0.01               0.86
## 1930           1              87           0.01               0.87
## 2070           1              88           0.01               0.88
## 2100           1              89           0.01               0.89
## 2120           1              90           0.01               0.90
## 2189           1              91           0.01               0.91
## 2220           1              92           0.01               0.92
## 2262           1              93           0.01               0.93
## 2320           1              94           0.01               0.94
## 2400           1              95           0.01               0.95
## 2450           1              96           0.01               0.96
## 2500           1              97           0.01               0.97
## 2600           1              98           0.01               0.98
## 2700           1              99           0.01               0.99
## 2961           1             100           0.01               1.00

Medidas de tendencia central

Encontramos a la media situada en:

media_precio <- mean(muestra2$Precio);media_precio
## [1] 1411.22

Lo anterior significa que podemos considerar que 1411.22 es el precio promedio en el conjunto de datos.

  • Mediana
median_precio<- median(muestra2$Precio);median_precio
## [1] 1366.5

El dato encontrado nos indica que al menos el 50% de los precios son iguales o menores que 1366.5, y al menos el 50% son iguales o mayores que 1366.5.

  • Moda El valor más frecuente en el precio del crédito es 950 dólares.

Medidas de dispersión

El rango esta entre:

rango_precio<- range(muestra2$Precio);rango_precio
## [1]  225 2961

El precio del crédito oscila entre los 225 y 2691 dólares. La varianza es:

var_precio<-var(muestra2$Precio) ;var_precio
## [1] 281945

Esto significa que los precios en el conjunto de datos de la muestra tomada tienen una dispersión o variabilidad de aproximadamente 281,945 unidades alrededor de su valor promedio

Su desviación estándar

desviación_precio <-sd(muestra2$Precio) ;desviación_precio
## [1] 530.9849

Esto nos indica que, en promedio, las cantidades de deuda en el conjunto de datos tienden a estar aproximadamente a una distancia de 922.454 unidades de la media de las cantidades de Precio.

coeficiente_precio<- (desviación_precio/media_precio)*100;coeficiente_precio
## [1] 37.62595

Como podemos ver la desviación estándar de la variable Precio es aproximadamente 37.62% de la media

Gráficos

  • Boxplot Ahora, analizando datos dentro de la variable podemos ver que,
library(ggplot2)
ggplot(muestra2, aes(x = "clientes", y = Precio, fill = "clientes")) +
  geom_boxplot() +
  labs(title = "Boxplot de Precio", x = "", y = "Precio") +
  scale_fill_manual(values = "#2F4F4F") +  # Personaliza el color del boxplot
  coord_cartesian(ylim = c(0,5000))

Los datos cuentan con datos atípicos y una leve simetría entre ellos.

Así finalizando de desarrollar los análisis estadísticos de estas variables de estudio se concluye que en líneas generales casi ninguna de ellas tienden a ser simétricas respecto al contexto de la base de datos.