#BANCOS
Un grupo de analistas financieros ha sido contratado para evaluar el desempeño de varias entidades bancarias con base en sus cuentas activas, el monto total de préstamos otorgados y la tasa de morosidad.
El objetivo del estudio es determinar si existen diferencias significativas entre los bancos en cuanto a la gestión de sus cuentas y el riesgo crediticio. Para ello, se ha recopilado información de 100 sucursales bancarias, pertenecientes a diferentes bancos.
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
datos <- read.csv("BANCO ESTADISTICA.csv")
head(datos)
## Banco Cuentas_Activas Monto_Prestamos Tasa_Morosidad
## 1 Banco B 27710 388558.8 5.23
## 2 Banco B 407173 414262.1 2.05
## 3 Banco A 64698 319015.4 6.48
## 4 Banco A 244139 349751.0 7.16
## 5 Banco C 459014 144663.4 8.01
## 6 Banco C 491145 496513.3 0.96
La base de datos consiste en
dim(datos)
## [1] 100 4
##Resumen estadistico
# Resumen estadístico de las variables numéricas
summary(datos)
## Banco Cuentas_Activas Monto_Prestamos Tasa_Morosidad
## Length:100 Min. : 11219 Min. : 18200 Min. :0.510
## Class :character 1st Qu.:133573 1st Qu.:140559 1st Qu.:2.710
## Mode :character Median :268280 Median :274116 Median :5.025
## Mean :261842 Mean :269174 Mean :5.056
## 3rd Qu.:394820 3rd Qu.:387324 3rd Qu.:7.165
## Max. :496139 Max. :496513 Max. :9.750
De acuerdo a la anterior información de los bancos nos expresan:
Que en las cuentas activas tenemos una variación entre 11219 y 496139, con una media de 261,842. Hay una gran diferencia entre bancos.
Seguimos con la cuenta de Monto prestamos las cuales oscilan entre 18200 y 496513, con una media de 269,174 informandonos así que algunos bancos otorgan muchos más préstamos que otros.
Por ultimo encontramos la tasa de morosidad en donde su rango va de 0.51% a 9.75% La mayoría de los bancos tienen tasas entre 2.71% y 7.165%.
library(ggplot2)
ggplot(datos, aes(x = Banco, y = Cuentas_Activas, fill = Banco)) +
geom_boxplot() +
labs(title = "Distribución de Cuentas_Activas por Banco",
x = "Banco",
y = "Cuentas_Activas") +
theme_minimal()
satisfaccion_Banco <- datos %>%
group_by(Banco) %>%
summarise(Satisfacción_Porcentaje = mean(Cuentas_Activas) * 100)
print(satisfaccion_Banco)
## # A tibble: 4 × 2
## Banco Satisfacción_Porcentaje
## <chr> <dbl>
## 1 Banco A 23750863.
## 2 Banco B 26774536.
## 3 Banco C 30474518.
## 4 Banco D 24288425
En el Banco A, el 23.75% de los clientes están satisfechos.
En el Banco B, el 26.77% de los clientes están satisfechos.
En el Banco C, el 30.47% de los clientes están satisfechos.
En el Banco D, el 24.29% de los clientes están satisfechos.
Conclusión: La satisfacción es mayor en el Banco C, mientras que el Banco A tiene el menor porcentaje de satisfacción.
ggplot(datos, aes(x = Banco, fill = as.factor(Cuentas_Activas))) +
geom_bar(position = "dodge") +
labs(title = "Número de Clientes con Cuentas Activas por Banco",
x = "Banco",
y = "Cantidad",
fill = "Cuentas Activas") +
theme_minimal() +
theme(legend.position = "none")
# Cargar librerías necesarias
library(ggplot2)
library(readr)
library(dplyr)
datos <- read_csv("BANCO ESTADISTICA.csv")
## Rows: 100 Columns: 4
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (1): Banco
## dbl (3): Cuentas_Activas, Monto_Prestamos, Tasa_Morosidad
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
# Ver las primeras filas para entender las variables disponibles
head(datos)
## # A tibble: 6 × 4
## Banco Cuentas_Activas Monto_Prestamos Tasa_Morosidad
## <chr> <dbl> <dbl> <dbl>
## 1 Banco B 27710 388559. 5.23
## 2 Banco B 407173 414262. 2.05
## 3 Banco A 64698 319015. 6.48
## 4 Banco A 244139 349751. 7.16
## 5 Banco C 459014 144663. 8.01
## 6 Banco C 491145 496513. 0.96
# Ver nombres de las columnas
colnames(datos)
## [1] "Banco" "Cuentas_Activas" "Monto_Prestamos" "Tasa_Morosidad"
# Convertir la variable categórica en factor (Reemplazar 'Banco' si es otra variable)
datos$Banco <- as.factor(datos$Banco)
ggplot(datos, aes(x = Banco)) +
geom_bar(fill = "skyblue", color = "black") +
labs(title = "Distribución de Bancos",
x = "Bancos",
y = "Frecuencia") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1)) # Rotar etiquetas si hay muchos bancos
#Intervalo de confianza para la media
library(dplyr)
datos_A <- filter(datos, Cuentas_Activas == Cuentas_Activas)
print(datos_A)
## # A tibble: 100 × 4
## Banco Cuentas_Activas Monto_Prestamos Tasa_Morosidad
## <fct> <dbl> <dbl> <dbl>
## 1 Banco B 27710 388559. 5.23
## 2 Banco B 407173 414262. 2.05
## 3 Banco A 64698 319015. 6.48
## 4 Banco A 244139 349751. 7.16
## 5 Banco C 459014 144663. 8.01
## 6 Banco C 491145 496513. 0.96
## 7 Banco D 204206 299076. 2.86
## 8 Banco B 486779 249442. 7.55
## 9 Banco B 390831 68070. 9.38
## 10 Banco D 76392 230254. 8.8
## # ℹ 90 more rows
knitr::kable(datos_A)
Banco | Cuentas_Activas | Monto_Prestamos | Tasa_Morosidad |
---|---|---|---|
Banco B | 27710 | 388558.80 | 5.23 |
Banco B | 407173 | 414262.10 | 2.05 |
Banco A | 64698 | 319015.39 | 6.48 |
Banco A | 244139 | 349751.02 | 7.16 |
Banco C | 459014 | 144663.41 | 8.01 |
Banco C | 491145 | 496513.30 | 0.96 |
Banco D | 204206 | 299076.40 | 2.86 |
Banco B | 486779 | 249441.98 | 7.55 |
Banco B | 390831 | 68069.59 | 9.38 |
Banco D | 76392 | 230254.11 | 8.80 |
Banco A | 243600 | 280172.31 | 1.78 |
Banco C | 221370 | 444557.51 | 3.88 |
Banco A | 231870 | 473135.20 | 8.76 |
Banco C | 69044 | 172659.76 | 0.84 |
Banco B | 433355 | 101720.30 | 7.02 |
Banco D | 279055 | 257924.71 | 4.80 |
Banco C | 397497 | 461979.64 | 8.55 |
Banco A | 369912 | 422449.02 | 7.97 |
Banco D | 125763 | 405842.47 | 4.70 |
Banco D | 180264 | 248281.58 | 8.75 |
Banco A | 359537 | 404790.25 | 8.63 |
Banco A | 417789 | 180354.83 | 4.34 |
Banco C | 425674 | 72295.89 | 6.23 |
Banco B | 139893 | 18200.48 | 2.74 |
Banco D | 185162 | 242985.83 | 7.92 |
Banco D | 427552 | 31779.96 | 4.24 |
Banco C | 346749 | 268345.44 | 9.44 |
Banco A | 149986 | 472014.22 | 0.98 |
Banco D | 339532 | 303654.76 | 5.95 |
Banco B | 178424 | 405194.16 | 2.62 |
Banco A | 64443 | 408187.88 | 5.03 |
Banco B | 385754 | 234115.91 | 9.42 |
Banco B | 334313 | 109901.27 | 1.45 |
Banco C | 86833 | 181607.11 | 1.66 |
Banco D | 326546 | 128246.02 | 0.97 |
Banco A | 129004 | 277468.63 | 7.23 |
Banco D | 170238 | 268490.31 | 7.04 |
Banco B | 301150 | 481290.74 | 1.75 |
Banco A | 117933 | 320597.36 | 8.48 |
Banco D | 291104 | 106300.82 | 9.60 |
Banco A | 50560 | 202262.30 | 4.31 |
Banco C | 391416 | 210375.45 | 5.99 |
Banco A | 24096 | 353849.14 | 6.70 |
Banco A | 431383 | 345295.45 | 6.29 |
Banco C | 107557 | 428953.36 | 0.89 |
Banco A | 222944 | 429564.92 | 2.25 |
Banco B | 461567 | 332723.69 | 5.45 |
Banco D | 188334 | 68155.54 | 3.30 |
Banco A | 483511 | 485868.66 | 1.03 |
Banco B | 186929 | 434314.39 | 2.27 |
Banco B | 86837 | 399008.62 | 5.21 |
Banco B | 43083 | 436171.30 | 0.61 |
Banco D | 318139 | 126621.45 | 3.57 |
Banco D | 123180 | 54046.00 | 6.12 |
Banco A | 480228 | 270762.72 | 2.14 |
Banco B | 75236 | 466258.51 | 2.20 |
Banco B | 458659 | 110111.70 | 4.44 |
Banco A | 271756 | 289103.56 | 1.86 |
Banco B | 70477 | 111767.38 | 8.86 |
Banco A | 431391 | 83857.66 | 9.75 |
Banco D | 135096 | 460124.01 | 3.29 |
Banco B | 393927 | 251601.26 | 5.96 |
Banco C | 158290 | 97662.71 | 5.02 |
Banco B | 184009 | 108138.97 | 5.20 |
Banco C | 30506 | 381019.51 | 5.33 |
Banco C | 336616 | 124081.77 | 6.62 |
Banco C | 445631 | 301639.16 | 7.18 |
Banco D | 423013 | 325132.71 | 4.75 |
Banco B | 316387 | 147796.59 | 6.49 |
Banco A | 66849 | 340739.89 | 6.91 |
Banco C | 66443 | 70885.67 | 4.75 |
Banco C | 405755 | 30729.03 | 9.72 |
Banco A | 210159 | 296238.56 | 9.71 |
Banco C | 472262 | 56249.86 | 4.79 |
Banco D | 187190 | 77147.42 | 0.51 |
Banco C | 149200 | 342563.49 | 8.09 |
Banco B | 372040 | 264749.91 | 5.24 |
Banco A | 137574 | 256256.86 | 2.92 |
Banco A | 97745 | 98635.71 | 9.04 |
Banco B | 372787 | 386912.89 | 0.98 |
Banco A | 492901 | 360879.97 | 3.16 |
Banco D | 357525 | 83582.08 | 9.08 |
Banco A | 222202 | 375457.33 | 3.78 |
Banco B | 264804 | 169058.16 | 5.54 |
Banco B | 411959 | 349909.56 | 4.01 |
Banco A | 174369 | 279325.51 | 3.71 |
Banco C | 454082 | 191451.51 | 4.65 |
Banco A | 56145 | 113974.57 | 6.26 |
Banco B | 302377 | 79399.18 | 2.38 |
Banco B | 68333 | 190081.59 | 5.27 |
Banco C | 279782 | 494992.13 | 8.20 |
Banco A | 385191 | 280554.30 | 7.97 |
Banco C | 413389 | 303051.43 | 1.54 |
Banco B | 11219 | 382225.24 | 4.68 |
Banco A | 13797 | 197700.11 | 1.66 |
Banco B | 330858 | 263061.78 | 5.78 |
Banco C | 496139 | 443357.76 | 2.54 |
Banco A | 479547 | 207306.46 | 3.48 |
Banco D | 349849 | 486117.93 | 2.14 |
Banco D | 169545 | 464335.35 | 2.80 |
datos_B <- filter(datos, Banco == "Banco B")
media_B <- mean(datos_A$Monto_Prestamos, na.rm = TRUE)
sd_B <- sd(datos_B$Monto_Prestamos, na.rm = TRUE)
n_B <- nrow(datos_B)
error_B <- qt(0.975, df = n_B - 1) * sd_B / sqrt(n_B)
IC_A <- c(media_B - error_B, media_B + error_B)
cat("Media:", media_B, "\nIC 95%:", IC_A[1], "a", IC_A[2], "\n")
## Media: 269173.5
## IC 95%: 213955.4 a 324391.6
num_satisfechos_B<- sum(datos_B$Satisfecho)
## Warning: Unknown or uninitialised column: `Satisfecho`.
n_B <- nrow(datos_B)
p_B <- num_satisfechos_B / n_B
error_p_B <- qnorm(0.975) * sqrt((p_B * (1 - p_B)) / n_B)
IC_p_B <- c(p_B - error_p_B, p_B + error_p_B)
cat("Clientes satisfechos en Banco B:", num_satisfechos_B, "\n")
## Clientes satisfechos en Banco B: 0
cat("Tamaño de la muestra (n):", n_B, "\n")
## Tamaño de la muestra (n): 28
cat("Proporción muestral de clientes satisfechos en la muestra fue de:", round(p_B, 4), "\n")
## Proporción muestral de clientes satisfechos en la muestra fue de: 0
cat("Intervalo de confianza (95%) de la población de clientes satisfechos esta entre:", round(IC_p_B[1], 4), "y", round(IC_p_B[2], 4), "\n")
## Intervalo de confianza (95%) de la población de clientes satisfechos esta entre: 0 y 0
#Intervalo de confianza para la dif de proporciones
library(dplyr)
# Filtrar datos por Banco A y Banco B
datos_A <- filter(datos, Banco == "Banco A")
datos_B <- filter(datos, Banco == "Banco B")
# Valor crítico Z para un 95% de confianza
z_critico <- qnorm(0.975)
# Imprimir resultados
cat("Proporción de clientes satisfechos en Banco A:", round(p_B, 4), "\n")
## Proporción de clientes satisfechos en Banco A: 0
cat("Proporción de clientes satisfechos en el Banco B:", round(p_B, 4), "\n")
## Proporción de clientes satisfechos en el Banco B: 0