# -----------------------------------------------------------
# 1. Importación de bibliotecas y lectura de datos
# -----------------------------------------------------------
# Cargar las bibliotecas necesarias
library(readr)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(cluster)
#rm(list = ls()) #Limpiar el ambiente de R
#getwd()
# Llamar un directorio (carpeta) --> setwd("")
# 1. Cargar el conjunto de datos
datos <- read.csv("/Users/genarorodriguezalcantara/Desktop/Tec/Mineria de Datos/Semana 2/tarjetas_creditCSV.csv")
# 2. Seleccionar solo las variables numéricas
datos_numericos <- datos[sapply(datos, is.numeric)]
# 3. Escalar las variables numéricas
datos_escalados <- scale(datos_numericos)
# 4. Calcular las medianas de las variables numéricas escaladas, vector de inicialización
medianas <- apply(datos_escalados, 2, median)
set.seed(123) # Para reproducibilidad
k <- 3 # Cambia este valor por el número de clusters que deseas
indices_centroides_iniciales <- sample(1:nrow(datos_escalados), k) #indices de centroides iniciales
centroides_iniciales <- datos_escalados[indices_centroides_iniciales, ]
# Ejecutar k-means con los centroides iniciales
resultado_kmeans <- kmeans(datos_escalados, centers = centroides_iniciales)
print(resultado_kmeans)
## K-means clustering with 3 clusters of sizes 497, 4275, 3228
##
## Cluster means:
## X2 X3 X4 X5 X6 X7 X8
## 1 -0.17828350 -0.4350833 -0.2691952 -0.1910644 -0.2870174 0.2877425 -0.2773700
## 2 0.04460317 -0.1811771 -0.3517118 -0.2504121 -0.3732565 0.1319315 -0.7565282
## 3 -0.03162071 0.3069295 0.5072360 0.3610505 0.5385127 -0.2190257 1.0446131
## X9 X10 X11 X12 X13 X14
## 1 -0.2939841 -0.2882413 0.4452186 -0.3898503 -0.3032574 -0.171019119
## 2 -0.4153879 -0.6642465 0.2068282 -0.1209803 -0.1122674 -0.002419144
## 3 0.5953821 0.9240736 -0.3424610 0.2202436 0.1953724 0.029534803
## X15 X18
## 1 -3.5608458 -0.1722474
## 2 0.2167526 -0.0745795
## 3 0.2611905 0.1252894
##
## Clustering vector:
## [1] 2 2 3 2 2 3 3 3 2 2 3 2 3 3 2 3 1 2 3 3 3 3 3 3 2 3 2 3 2 2 3 3 2 3 3 2 2
## [38] 3 2 2 2 2 2 2 3 2 1 2 3 2 1 3 2 1 2 2 2 3 2 2 2 2 2 2 3 2 1 2 3 2 3 3 1 2
## [75] 2 3 3 3 2 2 3 2 2 2 3 3 3 3 2 2 3 3 2 2 2 2 3 2 2 1 1 3 3 3 2 2 3 2 3 3 3
## [112] 2 3 2 3 3 3 2 2 2 3 2 3 2 2 3 1 3 2 2 2 3 2 2 3 2 3 3 3 3 2 2 2 3 3 2 3 2
## [149] 3 3 3 3 3 3 3 2 3 2 3 2 2 2 3 2 1 2 3 3 3 3 1 3 2 1 3 2 2 2 3 2 3 2 2 2 3
## [186] 3 2 3 2 2 2 2 2 3 2 3 3 3 2 2 2 2 3 3 3 2 2 2 3 2 2 2 2 3 2 2 3 2 2 3 3 3
## [223] 1 3 3 2 3 3 1 3 3 3 3 2 3 3 2 2 2 2 2 2 3 2 3 2 3 3 3 3 2 3 2 3 2 2 2 3 3
## [260] 2 2 3 3 1 2 3 3 3 2 3 3 2 3 3 3 2 2 2 3 3 3 3 2 3 2 2 2 2 2 2 3 2 2 2 3 3
## [297] 2 2 3 3 2 3 2 3 2 3 3 3 2 3 3 3 3 2 2 2 1 3 3 3 2 3 2 2 2 3 3 3 2 3 2 3 3
## [334] 3 2 2 2 3 2 3 2 2 2 2 3 2 3 3 3 3 2 3 2 2 2 3 3 2 2 2 3 2 1 3 2 3 2 3 2 2
## [371] 3 3 2 3 3 2 3 3 2 2 2 2 2 2 3 2 2 2 3 2 2 3 2 3 2 2 3 1 2 3 3 3 1 3 2 2 2
## [408] 2 2 2 2 3 1 2 3 3 2 3 2 3 2 2 2 3 3 2 2 2 2 2 2 3 2 2 2 2 3 3 2 3 2 2 2 3
## [445] 3 3 3 2 2 2 3 3 3 1 1 2 3 3 2 3 3 3 3 3 2 2 3 3 3 2 2 2 3 2 2 2 3 3 2 2 2
## [482] 3 2 2 3 3 2 3 2 3 3 2 3 2 3 2 2 2 2 3 3 3 3 3 3 2 3 3 2 3 3 3 2 3 3 3 2 2
## [519] 3 2 1 3 2 3 3 2 2 2 3 3 3 3 2 3 3 2 3 2 2 3 3 2 2 1 3 3 3 3 3 1 3 3 2 3 2
## [556] 3 2 1 2 2 3 2 2 3 2 3 3 3 2 2 2 2 2 2 3 2 2 2 2 2 2 3 2 2 3 3 2 3 2 3 3 3
## [593] 2 2 2 2 2 3 3 2 2 2 2 3 3 2 2 3 3 3 3 2 3 3 2 2 3 3 2 3 3 2 3 3 3 3 3 3 3
## [630] 3 3 2 2 3 3 2 2 2 2 3 3 2 3 3 3 3 2 3 2 2 1 3 3 2 2 3 3 2 3 2 2 3 3 2 3 3
## [667] 3 1 3 3 2 2 3 2 2 3 2 3 2 2 2 1 3 3 3 2 3 1 2 3 3 3 1 3 2 3 1 3 3 3 2 1 2
## [704] 2 3 2 2 2 3 3 2 2 3 3 1 3 2 2 2 2 2 2 2 2 2 3 3 2 3 3 2 2 2 3 3 2 2 2 2 2
## [741] 1 3 2 1 1 3 2 2 3 3 1 3 2 1 2 2 3 2 3 1 2 3 2 2 2 2 2 2 2 3 2 3 2 3 2 1 3
## [778] 3 2 3 2 2 3 3 2 3 2 1 2 2 3 3 2 2 2 3 2 3 3 2 2 3 2 2 3 2 3 3 2 3 3 3 2 2
## [815] 2 2 3 2 3 2 2 2 2 2 3 2 2 3 3 1 2 2 2 2 3 3 3 3 3 2 3 1 1 3 3 2 2 3 2 2 2
## [852] 2 2 2 3 2 3 3 2 3 2 3 3 3 3 2 2 2 2 2 2 3 2 2 3 2 3 2 2 1 2 3 2 2 3 2 3 3
## [889] 3 3 3 3 2 2 3 3 3 1 2 3 2 2 3 2 2 3 2 2 3 2 2 2 3 3 2 2 3 3 2 3 2 3 2 3 2
## [926] 3 3 2 2 2 2 3 3 2 3 2 3 2 3 2 2 3 2 2 3 2 1 2 2 3 3 3 3 2 3 2 2 2 2 2 3 2
## [963] 2 3 3 3 3 3 2 2 3 3 2 3 2 3 3 3 2 2 2 3 3 2 2 3 2 2 3 2 3 3 2 3 3 2 3 2 3
## [1000] 3 2 2 2 2 2 3 3 3 3 1 3 2 2 2 2 3 2 1 3 3 2 2 3 3 2 3 2 2 2 2 2 3 2 3 2 2
## [1037] 2 2 3 2 1 2 2 3 1 3 2 3 2 2 2 2 2 3 3 3 3 3 3 3 2 3 3 3 2 2 2 2 2 2 2 3 1
## [1074] 2 2 2 2 2 2 3 2 2 2 2 3 2 2 3 2 3 2 2 2 3 2 3 2 2 3 2 2 3 3 3 2 2 2 2 2 2
## [1111] 2 3 2 2 3 2 1 2 3 2 2 2 1 2 2 3 3 2 3 2 2 2 2 2 2 3 2 3 3 2 2 2 3 2 2 2 2
## [1148] 2 3 3 3 3 3 3 2 2 3 2 3 3 3 3 2 2 2 2 2 1 2 3 2 2 2 2 2 2 3 3 2 2 2 2 2 3
## [1185] 3 3 2 3 2 2 3 1 2 3 2 2 3 3 3 3 2 3 3 2 2 3 3 2 2 2 2 2 3 3 3 2 3 2 3 2 3
## [1222] 3 2 2 1 2 3 2 2 2 3 2 3 2 3 2 2 2 2 2 3 3 3 1 2 2 2 3 3 2 2 1 2 2 2 3 3 3
## [1259] 3 2 1 2 2 3 3 3 2 2 3 3 3 3 2 2 2 3 2 3 2 2 2 3 2 2 2 3 3 3 3 2 3 2 3 3 2
## [1296] 2 3 3 2 2 3 1 3 2 3 3 3 1 3 2 2 3 2 2 3 2 2 2 3 2 2 3 3 2 2 3 3 2 2 3 2 3
## [1333] 2 2 1 3 2 2 3 3 3 2 3 3 2 2 3 2 2 3 3 3 3 2 2 1 1 3 3 2 3 3 3 2 2 2 3 3 3
## [1370] 3 3 2 2 3 3 2 2 2 2 2 3 3 3 2 3 1 2 2 2 2 3 2 2 2 2 3 3 2 3 3 2 3 2 3 3 2
## [1407] 3 2 2 3 2 3 3 2 2 3 3 2 2 2 3 2 3 3 3 2 2 3 2 2 2 3 3 3 3 2 3 3 1 3 3 2 2
## [1444] 3 3 3 3 3 3 2 2 2 3 2 3 3 2 1 2 3 3 2 2 3 2 3 3 2 3 2 2 3 1 2 3 2 2 3 3 3
## [1481] 2 2 3 3 3 2 3 3 2 2 3 2 2 2 3 2 3 3 3 3 2 3 3 3 2 2 2 3 2 2 3 2 2 2 3 3 2
## [1518] 2 1 3 3 1 3 3 3 1 3 3 2 2 2 2 3 3 3 2 2 2 2 3 2 3 2 2 2 3 2 2 2 3 2 2 3 3
## [1555] 3 2 3 3 2 3 3 2 2 2 2 2 3 3 3 3 2 2 3 3 2 3 2 3 2 2 2 2 3 2 2 3 3 2 3 2 3
## [1592] 3 3 3 2 3 3 3 3 2 2 3 2 3 3 3 3 3 2 3 3 2 2 2 3 3 3 3 3 3 2 2 2 3 3 2 1 2
## [1629] 3 1 2 3 2 1 2 2 2 2 3 3 2 3 3 2 3 2 2 3 2 3 3 2 2 3 3 2 3 3 2 2 1 3 2 3 3
## [1666] 2 3 3 2 1 3 2 1 3 3 2 2 3 3 2 2 3 2 2 3 3 2 3 2 2 3 2 2 2 2 2 2 3 2 2 2 2
## [1703] 3 3 3 2 2 3 3 3 3 3 2 2 3 3 3 3 2 3 3 3 3 3 2 1 2 3 3 3 2 2 2 2 3 2 2 2 3
## [1740] 3 2 3 3 2 3 3 3 3 2 3 2 3 2 3 3 3 3 2 3 3 2 2 3 3 3 3 2 3 3 2 3 3 3 3 1 3
## [1777] 2 2 2 2 2 3 3 2 3 2 2 2 3 2 3 3 2 2 2 2 3 3 2 2 2 2 2 3 2 3 3 2 1 2 2 2 2
## [1814] 3 3 3 2 3 2 2 2 3 3 3 3 2 3 3 3 3 2 2 2 2 3 3 3 3 2 2 3 3 3 3 3 3 2 2 3 3
## [1851] 2 3 2 2 2 3 2 3 2 2 3 3 3 2 3 3 2 3 2 2 3 3 2 3 2 3 3 2 3 2 3 3 2 2 3 2 2
## [1888] 2 2 2 1 3 2 3 2 2 1 2 3 2 2 1 3 3 2 2 3 2 3 3 3 2 3 2 3 3 2 2 3 2 2 3 2 2
## [1925] 2 1 3 2 2 3 3 3 2 2 2 2 3 1 2 2 1 2 1 3 3 2 3 3 3 3 2 2 3 3 3 2 1 3 2 3 2
## [1962] 3 2 1 3 2 2 3 3 2 2 1 2 3 2 3 2 3 2 3 2 2 2 3 2 3 3 2 2 3 3 3 2 1 2 2 1 3
## [1999] 2 3 2 2 2 2 3 2 2 3 1 3 2 2 3 2 2 3 3 2 3 2 2 2 3 3 3 3 2 2 3 3 3 3 3 3 2
## [2036] 2 2 3 2 1 3 2 3 2 2 2 3 3 2 2 2 3 2 2 3 3 2 2 2 3 1 2 1 2 2 1 2 3 3 3 2 3
## [2073] 2 2 3 2 3 3 2 3 3 3 3 2 3 2 3 2 3 2 2 1 3 3 3 3 2 1 2 2 2 2 2 2 2 2 2 3 2
## [2110] 3 3 2 3 2 2 3 3 1 2 2 2 2 3 2 3 3 2 2 2 3 2 2 3 2 3 2 3 2 3 2 3 2 2 3 2 2
## [2147] 3 3 2 2 3 2 1 3 3 2 2 3 3 2 2 3 3 2 3 3 2 2 3 2 2 2 3 2 1 3 3 3 3 2 2 2 3
## [2184] 3 2 3 2 3 3 2 2 2 2 2 2 2 2 3 2 2 2 2 2 3 3 3 2 3 3 3 2 2 3 2 3 2 2 3 3 2
## [2221] 3 2 3 2 2 3 3 2 2 2 3 2 3 2 2 3 3 1 3 3 2 3 2 2 3 3 2 2 2 2 3 3 2 3 2 3 3
## [2258] 3 2 3 1 3 3 2 2 3 1 2 1 1 2 2 3 2 3 2 3 3 2 3 3 2 2 2 2 3 3 3 3 2 3 3 2 3
## [2295] 2 2 3 2 3 2 2 3 2 3 2 2 2 1 2 3 3 3 3 2 3 2 1 3 3 2 2 2 2 2 2 3 2 3 2 2 3
## [2332] 3 3 1 3 2 3 3 2 3 2 3 2 2 1 3 3 3 2 2 2 3 2 2 3 3 2 3 2 3 3 3 3 3 3 2 2 2
## [2369] 3 3 2 1 3 3 3 2 3 1 2 3 3 3 3 2 3 2 2 2 3 2 2 3 3 2 2 3 2 2 3 2 3 2 2 3 3
## [2406] 3 3 1 2 3 2 3 2 2 2 3 3 3 3 2 3 3 2 2 2 2 2 2 2 2 2 3 2 3 3 2 3 2 1 2 3 3
## [2443] 3 3 3 3 3 2 2 2 2 2 2 3 2 1 2 3 1 2 2 2 1 2 3 2 2 3 3 3 2 3 2 3 2 1 3 3 2
## [2480] 1 3 2 2 2 3 3 2 1 2 2 2 1 3 2 2 2 2 2 3 3 3 3 2 3 2 2 3 2 3 3 2 2 2 2 2 3
## [2517] 3 2 3 2 2 2 3 3 3 2 2 3 3 1 3 1 2 2 3 2 3 3 2 3 2 2 2 2 1 3 2 2 2 3 3 3 2
## [2554] 3 2 1 2 1 3 2 3 3 2 2 2 2 2 3 3 2 2 2 2 3 3 2 2 2 3 2 2 2 3 3 2 2 3 2 2 2
## [2591] 3 3 2 2 3 2 2 2 2 2 3 3 2 2 3 2 2 2 2 3 2 2 2 3 2 2 2 2 3 2 3 1 3 2 3 1 2
## [2628] 3 2 3 2 2 3 2 2 3 2 2 2 2 3 3 2 2 2 2 3 3 2 3 2 2 2 3 2 3 3 2 2 2 2 2 3 2
## [2665] 3 3 3 2 3 2 2 3 2 2 2 2 2 2 3 3 2 2 1 3 2 2 3 3 3 3 2 2 2 2 2 2 3 3 3 2 2
## [2702] 2 3 2 2 2 2 3 2 3 2 2 3 1 2 3 1 3 3 3 2 3 2 3 3 2 1 2 3 2 2 3 3 2 3 2 2 3
## [2739] 2 2 2 2 2 3 3 3 2 2 3 1 3 3 3 2 2 2 2 3 3 3 3 3 2 3 2 3 2 3 3 2 2 2 2 2 2
## [2776] 2 3 2 3 2 2 3 3 3 3 2 3 2 2 2 2 2 2 3 2 2 3 2 2 3 3 3 2 3 2 2 3 2 2 3 3 3
## [2813] 2 3 2 1 3 2 1 2 2 2 3 3 2 1 2 3 2 2 2 2 3 3 3 2 2 3 2 2 2 2 3 3 2 2 2 3 3
## [2850] 3 2 2 3 3 3 2 3 2 2 2 2 2 2 2 2 2 2 2 3 2 3 3 3 3 2 3 2 3 2 2 2 2 2 2 2 3
## [2887] 2 2 2 1 2 3 3 2 2 2 1 3 2 3 3 2 2 3 3 3 1 3 2 2 2 2 2 3 3 2 3 3 3 2 2 2 2
## [2924] 2 2 2 2 3 2 2 3 3 3 2 3 2 2 1 2 2 3 2 2 2 2 2 2 2 3 1 2 3 2 2 2 2 2 2 3 3
## [2961] 2 3 2 2 2 2 2 2 2 2 3 2 3 2 1 3 3 3 3 2 2 3 2 2 2 3 2 3 3 2 2 1 2 3 2 2 2
## [2998] 3 3 2 3 2 2 2 3 2 3 3 3 2 3 1 2 3 2 3 2 3 3 3 3 2 3 3 3 3 3 2 3 2 3 2 2 2
## [3035] 2 2 3 2 1 2 2 3 3 2 2 1 2 3 2 1 2 2 3 3 3 3 3 3 3 3 2 2 3 2 3 2 2 2 2 3 2
## [3072] 2 2 3 3 2 2 2 2 2 3 3 2 2 2 2 2 2 3 2 2 2 2 3 2 1 3 2 2 2 3 3 2 2 2 3 2 2
## [3109] 3 3 2 3 3 1 2 2 3 2 3 2 2 3 3 3 3 2 3 2 3 2 3 2 3 2 3 2 2 2 3 3 3 2 3 2 2
## [3146] 3 3 2 2 3 3 3 2 2 3 2 3 3 3 3 3 2 2 2 2 2 2 2 2 2 3 3 3 2 2 2 3 3 2 2 3 3
## [3183] 2 2 1 3 2 2 3 2 2 3 2 2 2 3 3 2 2 2 3 2 2 3 2 3 2 2 2 2 2 2 3 2 2 2 2 2 2
## [3220] 2 2 2 2 2 2 1 2 2 3 2 3 3 2 3 3 1 2 2 3 2 3 3 2 2 2 2 3 2 3 1 2 3 2 1 2 3
## [3257] 3 2 3 2 2 2 2 2 2 2 2 3 2 3 3 2 2 2 2 3 3 3 3 2 2 3 3 2 3 2 3 3 3 2 2 2 3
## [3294] 2 2 2 2 1 2 3 2 3 3 2 3 2 2 2 2 2 3 1 3 1 3 3 2 2 2 1 3 2 2 2 3 3 2 2 2 2
## [3331] 3 2 3 2 2 3 3 2 2 2 2 2 2 2 2 2 2 3 3 2 3 2 2 1 3 2 3 2 3 2 2 2 1 2 2 2 2
## [3368] 2 3 3 3 3 2 2 1 2 2 3 3 3 2 2 3 2 1 2 2 3 3 2 2 3 2 3 3 2 3 2 3 3 2 2 3 3
## [3405] 3 2 2 3 3 2 3 3 1 2 2 2 2 3 2 3 2 3 2 3 2 3 2 3 3 2 2 2 2 2 3 3 3 3 2 3 1
## [3442] 2 3 2 2 2 3 3 2 3 2 1 3 2 3 2 3 2 2 1 3 2 3 3 2 3 2 3 2 2 1 2 2 2 2 3 3 2
## [3479] 2 3 2 2 2 2 2 3 2 2 1 3 2 3 3 3 2 3 2 2 3 3 2 2 2 3 2 2 3 1 2 3 3 3 3 3 1
## [3516] 2 3 2 3 2 3 3 3 2 2 3 3 3 2 2 3 3 2 2 1 2 3 3 3 2 3 2 2 3 3 2 2 2 2 2 3 2
## [3553] 2 3 3 2 2 3 2 2 2 3 3 1 2 2 2 2 3 3 2 2 2 2 2 2 3 2 3 2 2 3 3 3 3 3 2 3 2
## [3590] 3 2 2 2 3 1 3 2 3 1 1 2 3 2 2 3 2 2 3 3 3 2 3 2 3 2 2 2 2 2 2 3 2 2 2 2 1
## [3627] 2 1 2 2 2 3 2 3 2 2 3 3 3 2 2 2 2 3 3 1 3 2 2 1 3 2 3 2 2 2 2 2 3 3 2 3 2
## [3664] 3 3 2 2 2 3 3 3 3 2 3 3 2 3 2 2 2 3 2 3 1 2 2 2 3 3 3 3 3 3 3 3 3 1 3 3 2
## [3701] 2 1 3 2 2 3 2 3 3 3 3 1 3 3 3 2 2 3 3 3 2 3 2 2 2 3 3 2 2 3 3 2 2 3 3 2 2
## [3738] 2 3 2 3 2 3 3 3 3 2 2 3 2 3 1 2 3 3 1 3 3 3 1 1 3 2 3 3 3 2 1 3 2 3 2 2 2
## [3775] 3 2 2 3 3 2 2 2 3 3 2 3 3 2 3 2 2 3 2 2 3 2 3 2 2 1 3 3 2 3 2 2 3 3 3 3 2
## [3812] 2 2 3 2 3 3 2 2 2 2 2 2 3 2 2 2 2 3 2 3 2 3 3 2 3 3 2 3 2 2 2 2 3 2 2 3 3
## [3849] 3 3 2 2 2 3 3 3 3 3 2 3 2 2 3 2 3 2 3 2 3 2 3 2 3 2 1 3 2 2 3 2 2 3 2 3 1
## [3886] 3 3 3 3 2 3 2 3 2 2 2 2 3 2 3 2 3 2 2 2 3 2 2 2 2 3 2 2 2 3 2 1 3 2 1 2 2
## [3923] 2 2 2 2 3 3 2 3 2 2 3 1 2 3 2 3 3 3 2 2 2 3 3 2 3 3 3 2 2 2 2 2 3 3 3 2 2
## [3960] 2 3 2 2 2 2 3 2 2 2 3 2 3 2 2 2 2 3 3 2 2 3 3 2 2 3 2 1 3 3 1 2 3 2 2 2 2
## [3997] 2 3 3 2 2 2 3 2 3 2 3 3 2 2 3 3 3 3 3 2 2 2 2 3 2 2 2 3 2 3 2 3 2 2 3 3 3
## [4034] 3 2 2 3 3 2 1 2 1 2 2 2 2 2 2 2 2 3 3 2 3 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2
## [4071] 2 2 3 3 3 3 3 2 2 1 2 3 2 2 2 3 3 2 2 2 2 2 3 2 2 2 3 2 2 1 2 2 3 2 2 3 2
## [4108] 3 2 3 3 2 3 2 2 2 2 2 2 3 1 2 3 2 3 2 3 3 2 2 2 2 2 3 1 3 3 2 3 2 3 3 3 2
## [4145] 2 2 3 3 2 2 3 2 2 3 2 3 3 2 1 2 3 3 2 2 3 2 2 3 2 3 2 2 2 2 2 2 3 2 2 1 2
## [4182] 2 2 2 3 3 3 3 1 2 3 2 2 2 2 2 1 2 2 1 3 2 3 2 3 2 3 3 3 2 3 3 3 3 1 2 3 2
## [4219] 2 1 3 2 2 2 1 2 2 2 2 3 2 2 3 2 2 3 2 1 2 1 3 2 2 2 3 3 2 3 3 2 3 2 2 2 2
## [4256] 2 2 3 2 3 3 2 2 2 3 2 3 2 2 3 2 3 3 2 2 2 3 3 2 2 3 2 3 3 3 3 2 3 3 3 2 3
## [4293] 2 2 2 2 3 3 2 3 3 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 3 3 3 2 3 2 2
## [4330] 3 2 2 1 3 1 2 3 2 2 3 2 2 2 3 2 2 2 2 1 3 3 2 2 3 3 2 3 2 3 2 3 2 2 2 3 2
## [4367] 3 3 2 3 3 3 2 3 2 3 3 2 3 3 1 3 3 3 2 2 3 3 2 3 2 2 3 3 2 3 3 3 2 2 2 2 2
## [4404] 3 2 2 2 1 2 3 2 2 2 2 2 3 2 2 2 2 2 2 3 2 3 2 2 3 3 2 2 2 3 2 3 2 3 3 3 2
## [4441] 3 3 1 2 3 2 3 2 3 2 2 2 2 2 2 1 3 3 1 2 2 1 3 3 3 2 3 3 1 1 3 2 3 3 2 3 3
## [4478] 2 3 2 3 3 3 2 2 2 3 1 3 2 2 2 2 2 2 3 2 3 2 2 2 3 2 1 2 3 2 2 3 2 3 2 3 2
## [4515] 2 3 3 3 3 3 2 2 3 2 2 2 2 2 2 2 2 3 3 2 2 3 3 3 2 1 3 3 3 2 2 1 3 3 2 2 3
## [4552] 1 3 3 2 3 2 3 2 3 2 1 2 2 1 2 2 3 2 2 2 2 3 3 2 3 2 3 2 1 2 3 2 2 3 3 3 2
## [4589] 3 2 2 2 2 1 2 2 2 2 3 2 2 3 2 2 2 2 3 2 1 2 3 2 2 3 3 2 3 2 3 2 2 2 2 2 2
## [4626] 3 2 2 2 2 3 2 2 3 2 2 3 2 3 3 2 3 2 3 2 3 2 2 3 1 2 3 3 2 2 3 2 3 2 3 2 3
## [4663] 1 2 2 2 3 2 3 2 3 2 3 3 3 2 1 3 2 2 3 2 2 3 2 2 2 2 2 2 2 2 3 2 2 2 3 2 1
## [4700] 2 1 2 1 3 2 2 3 3 3 3 2 2 3 2 2 2 3 2 2 2 2 2 2 1 2 3 3 1 2 3 2 2 2 3 2 2
## [4737] 3 2 2 2 2 3 2 2 3 2 2 2 2 3 2 3 2 3 2 2 3 2 3 3 3 2 2 3 2 2 2 2 3 2 2 2 2
## [4774] 3 3 2 2 2 2 2 1 2 2 2 3 2 2 1 2 2 3 2 3 2 2 3 2 3 2 2 1 2 3 2 1 2 2 2 3 2
## [4811] 2 2 2 3 2 3 2 3 2 2 3 2 3 1 3 2 3 2 3 3 3 1 3 2 1 2 2 1 2 2 2 3 3 2 3 3 2
## [4848] 2 2 3 2 2 2 3 2 2 3 2 3 2 3 3 3 2 2 3 2 3 3 3 2 2 2 2 2 3 3 2 2 3 2 3 3 2
## [4885] 1 3 2 2 3 3 2 3 2 3 2 2 3 3 2 1 3 3 2 3 3 3 3 2 2 2 1 3 2 3 2 2 1 3 2 3 3
## [4922] 3 1 2 3 3 2 3 2 2 2 2 2 2 2 2 2 3 2 1 1 1 2 2 2 2 2 2 2 2 3 3 1 2 2 2 2 2
## [4959] 3 3 3 2 2 2 3 3 2 2 2 2 3 2 2 2 2 2 2 2 2 3 3 3 3 3 3 1 2 2 2 2 3 2 3 3 2
## [4996] 2 2 3 3 2 3 3 2 2 2 2 2 2 3 2 3 2 2 3 3 2 3 2 3 2 3 1 3 3 2 2 2 3 3 2 2 2
## [5033] 2 2 1 2 2 1 2 3 2 2 2 2 3 2 3 2 3 3 3 3 2 1 3 1 3 2 3 2 2 2 2 3 3 3 2 1 2
## [5070] 2 3 2 2 2 3 3 3 2 3 2 3 3 2 2 2 2 3 3 3 3 2 3 2 3 3 3 2 2 3 2 2 2 2 2 2 2
## [5107] 2 2 2 2 3 3 2 2 2 2 2 2 3 2 3 2 2 2 2 2 2 3 3 3 2 2 2 3 2 3 3 3 2 2 2 2 2
## [5144] 3 2 2 2 2 3 1 2 2 2 3 1 2 3 1 1 3 3 2 2 2 2 3 1 3 3 2 1 1 2 2 1 3 3 3 2 3
## [5181] 2 2 1 3 2 2 2 2 2 3 3 2 1 2 3 2 3 3 2 3 3 2 1 1 2 2 2 3 3 2 1 2 3 2 2 2 2
## [5218] 3 3 2 1 3 3 2 2 2 3 2 1 3 2 3 2 3 2 2 3 2 3 3 3 2 2 2 1 2 1 2 2 3 3 3 2 1
## [5255] 2 3 3 2 3 2 3 1 3 3 3 2 2 3 3 2 2 2 1 3 2 3 3 2 1 2 3 3 2 2 2 2 3 2 3 2 3
## [5292] 1 2 2 3 2 2 2 3 3 1 2 2 3 3 2 1 2 3 3 3 3 2 2 2 2 2 2 3 2 2 2 3 2 2 3 2 3
## [5329] 1 3 2 3 2 2 3 2 2 3 3 2 3 2 3 3 1 2 2 1 3 2 3 3 2 2 3 3 2 3 3 3 2 3 2 2 3
## [5366] 2 2 3 2 2 2 2 2 2 2 2 2 3 2 2 2 2 2 2 2 2 2 2 3 2 2 2 1 3 2 3 2 3 2 2 3 3
## [5403] 2 2 3 2 2 3 2 3 2 2 2 1 2 2 3 2 3 3 3 3 2 2 3 3 3 3 2 2 2 3 3 2 2 1 2 2 3
## [5440] 2 2 2 2 2 3 2 2 3 2 2 3 2 2 3 3 3 3 2 2 2 3 2 3 2 2 2 1 2 2 2 2 3 3 2 3 3
## [5477] 3 2 3 3 2 2 2 2 2 1 2 2 2 2 3 3 3 2 2 3 3 2 2 2 3 3 2 2 2 2 3 2 2 3 2 2 3
## [5514] 2 3 3 3 2 2 2 1 3 2 1 3 3 2 3 2 2 2 3 2 3 2 1 2 2 1 3 3 2 3 2 3 3 2 3 2 3
## [5551] 2 3 2 2 3 3 1 2 3 3 3 2 2 3 2 2 2 3 2 2 3 1 2 3 2 3 2 3 3 3 2 2 3 3 3 2 3
## [5588] 2 2 3 2 2 2 2 2 2 2 3 2 3 2 2 2 3 2 2 3 2 3 2 2 2 2 2 3 3 2 2 2 3 3 2 2 2
## [5625] 3 2 2 3 2 3 2 2 2 2 3 1 2 3 2 2 2 2 2 2 2 3 2 2 2 3 1 3 1 2 3 2 3 3 2 2 3
## [5662] 1 2 2 3 2 3 2 1 2 3 2 3 3 3 2 1 2 3 3 2 2 2 3 2 1 2 3 2 3 2 2 2 2 3 3 2 2
## [5699] 3 3 2 2 2 2 1 2 3 3 3 2 2 2 1 3 2 2 3 2 3 3 2 2 2 2 3 2 2 2 3 2 3 2 3 2 3
## [5736] 2 2 2 3 2 2 2 3 2 3 2 2 3 2 2 3 3 1 2 2 3 2 3 2 2 2 2 3 3 2 2 2 2 2 2 3 3
## [5773] 2 2 2 2 3 2 3 2 2 3 2 3 2 2 3 3 3 2 2 2 2 2 3 3 2 2 3 2 2 2 2 2 3 3 3 3 2
## [5810] 3 2 2 3 2 2 3 2 2 2 3 2 3 2 2 3 2 3 2 1 2 2 3 3 2 3 2 3 2 2 3 2 3 2 1 3 2
## [5847] 2 3 2 1 2 2 3 2 3 3 3 1 3 2 3 3 3 2 2 1 3 2 2 3 2 1 3 3 2 3 2 1 2 3 2 3 2
## [5884] 3 2 2 2 2 2 2 3 2 3 2 3 2 2 3 1 2 2 1 2 2 1 1 1 3 3 1 2 2 2 2 1 2 2 2 2 2
## [5921] 2 2 3 2 2 3 2 3 2 3 3 1 3 2 1 3 3 3 2 2 3 3 2 2 3 3 2 2 3 3 2 3 3 1 2 3 1
## [5958] 3 2 3 3 3 3 3 3 3 2 2 2 2 2 2 3 2 2 3 3 2 3 2 2 3 2 2 2 2 3 2 2 2 2 2 2 2
## [5995] 2 2 2 3 2 2 3 2 3 2 2 2 2 3 2 3 2 2 3 1 2 2 2 2 1 3 2 3 1 2 2 3 3 3 3 2 3
## [6032] 2 3 3 1 3 3 2 3 2 3 3 2 3 2 2 3 2 3 3 3 2 2 2 2 3 2 3 3 2 3 2 1 3 2 3 2 1
## [6069] 2 3 2 2 3 1 2 2 3 3 3 1 3 3 2 2 3 2 3 2 2 2 3 3 1 3 3 3 3 3 2 3 3 1 2 3 2
## [6106] 3 2 2 3 3 2 2 1 3 3 2 2 2 2 1 2 3 2 2 2 2 3 3 3 2 2 3 2 3 3 2 2 2 2 1 2 3
## [6143] 2 2 1 3 2 3 3 2 2 3 2 3 2 3 3 3 3 2 3 2 2 2 2 3 2 2 1 2 3 3 2 3 3 2 3 2 2
## [6180] 2 2 2 2 3 3 3 2 2 2 2 3 3 2 3 2 2 2 2 3 2 2 2 1 2 3 2 3 2 1 2 3 2 2 3 2 2
## [6217] 3 2 3 3 1 2 3 3 2 2 2 2 2 2 3 1 2 3 2 2 1 2 3 3 2 2 3 2 2 2 2 2 3 3 2 2 2
## [6254] 3 1 2 3 1 3 2 2 2 2 2 3 2 2 3 3 2 2 3 1 3 1 3 3 2 2 3 3 2 1 3 3 2 2 3 2 2
## [6291] 3 1 3 2 2 2 3 3 3 2 2 2 3 3 3 3 3 2 2 2 2 3 2 2 2 3 3 3 2 3 3 2 2 3 2 3 2
## [6328] 1 2 3 2 3 3 2 3 2 3 2 2 2 2 2 2 2 2 3 2 3 2 3 2 2 3 3 2 1 2 2 3 2 2 2 2 2
## [6365] 2 1 2 2 3 3 1 2 3 2 3 3 2 2 2 2 3 3 3 3 2 2 2 2 3 2 3 2 3 2 2 3 2 2 2 2 3
## [6402] 2 2 3 1 2 2 3 2 2 2 2 1 2 2 3 2 2 2 2 3 2 2 3 3 2 3 2 3 3 2 3 1 2 1 3 1 2
## [6439] 3 2 3 3 2 3 3 2 2 2 2 2 3 3 2 3 1 2 1 2 3 3 3 2 2 2 2 2 3 3 2 2 3 2 2 2 2
## [6476] 2 3 2 2 2 3 2 3 3 3 2 2 3 3 3 3 2 2 3 2 3 3 2 1 3 3 1 2 3 2 3 2 3 3 2 1 3
## [6513] 3 2 2 2 3 1 1 3 3 2 2 3 2 2 2 3 3 3 1 2 2 3 2 1 3 2 2 3 2 3 2 1 2 2 2 3 2
## [6550] 2 2 2 2 3 3 3 3 1 2 3 3 2 2 2 2 2 2 2 2 3 3 2 1 2 3 3 2 3 3 2 2 3 2 3 2 2
## [6587] 2 3 3 2 1 2 3 2 2 2 2 2 2 2 3 2 3 3 2 2 2 2 3 3 3 3 1 3 2 2 3 1 3 2 2 2 2
## [6624] 3 3 3 3 3 2 3 2 2 3 2 3 3 3 2 3 2 3 2 1 2 2 2 2 3 3 2 3 3 2 2 1 3 3 2 2 2
## [6661] 3 3 1 1 2 2 3 2 2 2 3 2 2 2 2 2 1 2 3 2 2 2 3 2 2 2 3 3 3 3 2 3 2 3 2 2 1
## [6698] 3 3 2 2 1 2 2 3 2 3 2 3 3 2 2 2 3 1 3 2 3 2 2 2 2 3 2 3 1 2 2 3 2 3 2 3 2
## [6735] 2 3 2 3 2 2 1 2 2 2 3 3 3 3 2 3 3 3 3 3 2 3 2 3 2 1 2 2 2 3 3 2 2 2 2 3 2
## [6772] 2 1 2 2 2 2 3 3 3 2 3 3 2 3 1 1 2 3 1 2 2 2 1 2 3 2 3 3 3 2 2 2 2 3 3 2 3
## [6809] 2 3 2 2 2 2 1 2 2 2 3 2 3 3 2 2 2 3 2 3 3 2 3 3 2 3 2 3 2 3 3 2 2 1 1 1 2
## [6846] 2 3 3 2 2 3 2 2 2 2 2 3 3 1 2 3 3 2 2 2 3 2 1 2 3 2 3 2 1 2 3 2 2 2 2 2 2
## [6883] 2 3 2 2 2 3 3 2 3 2 1 3 2 3 3 3 2 2 2 2 3 3 3 2 3 2 2 2 2 3 2 2 2 2 3 2 3
## [6920] 2 2 3 3 2 3 3 2 2 3 3 2 2 2 3 2 2 1 3 1 2 1 2 2 2 3 2 2 2 3 2 2 2 2 2 3 2
## [6957] 2 3 2 2 2 3 2 2 2 2 2 3 1 1 3 2 3 2 1 3 2 3 3 2 3 2 3 3 2 2 1 3 3 2 3 1 3
## [6994] 2 2 2 2 1 3 3 3 2 2 2 3 2 2 2 3 3 2 2 2 3 3 2 3 2 3 3 2 2 3 3 2 3 2 2 3 3
## [7031] 3 3 2 2 2 3 2 2 3 3 2 2 1 1 1 2 3 3 3 3 2 3 2 2 2 1 2 2 3 2 3 2 3 2 1 2 2
## [7068] 3 2 2 2 3 2 2 2 2 2 2 3 3 2 3 3 2 3 3 2 2 2 2 2 2 2 2 3 1 2 1 3 2 3 2 1 3
## [7105] 2 2 3 2 2 2 2 3 2 3 3 3 2 3 3 2 2 2 3 2 3 1 3 3 3 2 2 2 2 2 3 2 2 3 3 2 2
## [7142] 3 2 2 2 3 2 2 3 3 3 3 3 2 3 2 2 2 2 3 2 2 3 2 2 2 2 1 2 2 2 2 2 2 2 3 1 3
## [7179] 2 2 2 2 3 2 3 2 2 3 3 2 3 2 2 2 2 3 3 2 2 3 2 2 2 2 2 2 3 2 3 3 2 2 2 2 2
## [7216] 2 2 2 2 2 3 2 2 3 3 2 3 2 2 3 3 2 3 2 3 1 1 2 1 2 2 2 3 2 3 3 3 2 2 2 2 2
## [7253] 3 2 3 2 2 2 2 2 2 2 3 3 2 3 2 2 2 3 3 3 2 1 2 2 2 3 1 3 2 3 3 2 3 2 3 2 2
## [7290] 3 1 2 2 2 3 1 2 2 3 2 2 3 1 2 2 2 3 2 3 3 2 3 3 2 1 2 3 1 2 3 3 3 3 2 2 2
## [7327] 2 2 3 2 3 3 2 2 3 2 3 3 1 2 3 3 3 2 1 3 3 3 3 3 3 1 3 3 3 3 3 3 2 2 2 3 2
## [7364] 2 2 3 3 2 3 3 3 2 3 3 2 2 3 3 3 2 2 1 3 2 2 3 2 3 3 2 2 2 2 2 2 2 2 2 2 2
## [7401] 2 2 2 2 1 2 2 2 3 1 2 2 2 1 2 1 3 3 2 3 2 2 2 2 2 2 2 3 2 3 2 3 2 3 1 2 3
## [7438] 1 3 2 2 2 2 1 3 2 3 3 2 2 2 2 2 2 2 3 2 2 3 2 2 1 1 2 2 2 3 2 2 2 3 2 2 3
## [7475] 2 2 2 3 2 3 2 2 2 2 3 3 2 2 1 1 1 3 3 2 3 2 2 3 3 2 2 2 2 2 3 3 3 3 3 2 3
## [7512] 3 3 3 3 2 3 3 2 2 2 3 3 3 2 2 3 3 2 2 3 2 2 2 2 3 3 2 2 2 2 2 2 2 3 2 2 1
## [7549] 1 2 2 3 2 3 3 2 3 2 2 2 1 3 2 3 3 3 2 3 3 3 3 3 2 2 2 3 3 3 2 3 3 3 1 2 2
## [7586] 2 3 3 2 3 1 2 1 2 3 3 3 3 2 1 2 2 3 2 3 2 3 2 2 3 3 3 2 3 2 3 2 2 2 1 2 1
## [7623] 2 2 2 2 2 3 3 3 3 2 3 2 2 2 2 2 3 2 2 2 2 2 3 2 3 2 2 2 2 3 2 3 3 3 2 3 1
## [7660] 3 3 3 3 2 2 3 2 1 2 2 1 2 2 2 2 2 3 2 3 2 3 1 2 2 2 2 2 3 2 3 2 1 3 2 2 2
## [7697] 2 3 2 2 3 2 2 2 3 1 3 3 2 2 2 3 2 1 2 3 2 2 3 2 3 3 1 1 2 2 2 3 1 2 3 2 2
## [7734] 2 2 3 3 2 2 3 2 2 3 2 3 2 2 2 2 2 2 1 2 1 2 2 2 2 3 3 2 3 3 2 2 3 3 2 3 2
## [7771] 3 3 1 2 1 2 2 2 3 2 3 2 2 2 3 2 3 2 2 2 2 2 3 3 3 3 3 3 2 2 3 3 2 1 3 2 1
## [7808] 2 2 1 2 2 2 3 2 2 3 3 3 3 3 2 3 2 2 3 2 3 2 3 1 3 3 2 3 2 2 3 3 2 2 2 2 3
## [7845] 2 2 2 3 2 2 3 2 3 2 2 2 2 2 2 1 2 2 2 2 3 2 2 2 3 2 2 3 2 3 2 2 3 3 2 3 3
## [7882] 1 3 2 3 2 3 2 3 3 3 2 3 3 2 3 3 2 3 3 3 1 3 2 2 3 1 3 2 2 3 3 3 1 3 3 3 3
## [7919] 2 2 2 3 2 3 2 2 3 2 2 3 3 2 3 3 2 3 2 3 2 1 2 3 3 3 2 2 2 2 3 2 3 1 2 2 2
## [7956] 3 2 2 2 2 2 3 3 2 1 3 2 2 3 2 2 2 3 2 2 1 3 3 2 2 3 3 2 2 3 1 3 1 3 3 2 1
## [7993] 2 2 2 1 2 2 3 2
##
## Within cluster sum of squares by cluster:
## [1] 5377.041 37889.106 51584.306
## (between_SS / total_SS = 20.9 %)
##
## Available components:
##
## [1] "cluster" "centers" "totss" "withinss" "tot.withinss"
## [6] "betweenss" "size" "iter" "ifault"
# Ajustar el modelo k-means para diferentes valores de k
set.seed(123) # Para reproducibilidad
wcss <- vector() # Inicializar vector para almacenar los valores de WCSS
max_k <- 10 # Puedes cambiar esto para probar con más clústeres si lo deseas
for (k in 1:max_k) {
kmeans_model <- kmeans(datos_escalados, centers = k, nstart = 25)
wcss[k] <- kmeans_model$tot.withinss
}
## Warning: Quick-TRANSfer stage steps exceeded maximum (= 400000)
# Graficar el método del codo
par(mar = c(4, 4, 1, 1)) # Los números representan los márgenes inferior, izquierdo, superior y derecho respectivamente.
plot(1:max_k, wcss, type = "b", xlab = "Numero de Clusters", ylab = "WCSS", main = "Metodo del Codo", pch = 19, frame = FALSE)
# Establecer una semilla para la reproducibilidad
set.seed(123)
# Realizar K-means con 4 clusters
kmeans_result <- kmeans(datos_escalados, centers = 4)
kmeans_result$centers
## X2 X3 X4 X5 X6 X7 X8
## 1 -0.19800491 -0.3158725 -0.2601288 -0.1852328 -0.2762404 0.2658645 -0.2458047
## 2 -0.71524280 -1.9092201 -0.2949280 -0.2360426 -0.2645588 -0.3323502 -0.4248078
## 3 -0.04557268 0.4092588 0.5340276 0.3893434 0.5497921 -0.2600120 1.0396765
## 4 0.36438728 0.4231144 -0.3629180 -0.2567031 -0.3882657 0.3495598 -0.8057473
## X9 X10 X11 X12 X13 X14
## 1 -0.2819071 -0.2647677 0.4444432 -0.41910419 -0.31215814 -0.18079749
## 2 -0.4262978 -0.3353756 -0.5357226 -0.19663467 -0.21500328 -0.30048156
## 3 0.6425315 0.9025811 -0.3722586 0.21557914 0.19602647 0.03093856
## 4 -0.4122103 -0.7054906 0.5153823 -0.06858951 -0.05783701 0.11861949
## X15 X18
## 1 -3.6497446 -0.16458287
## 2 0.1719043 0.09166799
## 3 0.2627964 0.12113770
## 4 0.2126958 -0.13117145
# Añadir la columna de clusters al DataFrame original - dice a que cluster pertenece
datos1 <- datos
datos1$Cluster <- kmeans_result$cluster
# Tabla de contingencia para 'NSE' (tabla de frecuencia/porción)
contingency <- table(datos1$Cluster, datos$X17)
# Convertir la tabla de contingencia a porcentajes
contingency <- prop.table(contingency, margin = 1) * 100
# Mostrar la tabla de contingencia
print(contingency)
##
## A/B C C- C+
## 1 36.61670 21.41328 20.98501 20.98501
## 2 51.75097 14.39689 14.16342 19.68872
## 3 48.80104 16.75308 16.04018 18.40570
## 4 38.42505 18.46932 23.90892 19.19671
#-----------------------------------------------------------------------------------
# Ejercicio en Equipo
#-----------------------------------------------------------------------------------
# Tabla de contingencia para 'Estatus Marital'
contingency1 <- table(datos1$Cluster, datos$X19)
#Cluster es un número 1,2,3,4 pero en realidad es una categoría, un nombre. Variable categórica
# Convertir la tabla de contingencia a porcentajes
contingency1 <- prop.table(contingency1, margin = 1) * 100
# Mostrar la tabla de contingencia
print(contingency1)
##
## Casado Soltero
## 1 44.32548 55.67452
## 2 36.96498 63.03502
## 3 39.17693 60.82307
## 4 44.11765 55.88235
# Tabla de contingencia para 'Edad'
contingency2 <- table(datos1$Cluster, datos$X18)
#Cluster es un número 1,2,3,4 pero en realidad es una categoría, un nombre. Variable categórica
# Convertir la tabla de contingencia a porcentajes
contingency2 <- prop.table(contingency2, margin = 1) * 100
# Mostrar la tabla de contingencia
print(contingency2)
##
## 18 19 20 21 22 23
## 1 3.21199143 1.07066381 0.85653105 1.28479657 1.49892934 1.92719486
## 2 1.32295720 0.31128405 0.23346304 0.54474708 1.08949416 1.32295720
## 3 1.65262476 0.51847051 0.61568373 0.51847051 0.64808814 0.77770577
## 4 2.90955092 0.82226439 0.69576218 0.94876660 0.98039216 1.20177103
##
## 24 25 26 27 28 29
## 1 1.49892934 1.71306210 0.64239829 2.35546039 2.14132762 1.71306210
## 2 0.77821012 1.08949416 1.71206226 1.55642023 1.08949416 1.24513619
## 3 0.93972780 1.26377187 1.00453662 1.26377187 1.55541154 1.00453662
## 4 1.26502214 1.58127767 1.92915876 2.11891208 1.80265655 2.18216319
##
## 30 31 32 33 34 35
## 1 2.78372591 2.35546039 2.35546039 1.92719486 3.42612420 3.85438972
## 2 1.63424125 2.25680934 1.63424125 2.25680934 3.42412451 3.03501946
## 3 1.55541154 2.00907323 2.43033052 2.55994815 2.43033052 3.24044070
## 4 2.37191651 2.21378874 2.62492094 3.54206199 3.25743201 3.28905756
##
## 36 37 38 39 40 41
## 1 2.56959315 3.21199143 4.92505353 5.35331906 5.35331906 5.56745182
## 2 2.41245136 3.19066148 4.12451362 3.96887160 5.21400778 2.64591440
## 3 3.30524951 3.37005833 3.30524951 3.72650680 3.53208036 3.95333765
## 4 4.07969639 3.28905756 3.63693865 3.92156863 3.57368754 3.66856420
##
## 42 43 44 45 46 47
## 1 3.42612420 2.35546039 1.92719486 1.71306210 1.92719486 2.56959315
## 2 4.74708171 3.73540856 3.96887160 3.57976654 3.65758755 2.87937743
## 3 4.01814647 3.49967596 3.43486714 3.59688918 3.33765392 3.72650680
## 4 3.35230867 3.47881088 3.19418090 3.60531309 2.71979760 2.71979760
##
## 48 49 50 51 52 53
## 1 2.14132762 1.92719486 1.49892934 2.56959315 1.49892934 1.71306210
## 2 3.26848249 3.19066148 2.41245136 2.72373541 2.87937743 2.49027237
## 3 2.88399222 3.24044070 3.53208036 2.30071290 2.62475697 2.07388205
## 4 2.94117647 2.21378874 2.59329538 2.24541429 2.02403542 1.32827324
##
## 54 55 56 57 58 59
## 1 1.71306210 1.49892934 0.64239829 1.07066381 1.28479657 1.28479657
## 2 2.02334630 1.16731518 1.71206226 1.32295720 1.01167315 0.85603113
## 3 2.72197019 2.00907323 2.00907323 1.32858069 1.32858069 1.03694102
## 4 1.32827324 1.23339658 1.17014548 0.94876660 0.98039216 0.94876660
##
## 60 61 62 63 64 65
## 1 0.85653105 0.64239829 0.21413276 0.21413276 0.42826552 0.21413276
## 2 0.85603113 0.62256809 0.23346304 0.85603113 0.38910506 0.31128405
## 3 0.68049255 0.61568373 0.48606610 0.29163966 0.48606610 0.29163966
## 4 0.82226439 0.41113219 0.12650221 0.28462998 0.37950664 0.34788109
##
## 66 67 68 69 70 71
## 1 0.21413276 0.00000000 0.00000000 0.21413276 0.42826552 0.00000000
## 2 0.38910506 0.15564202 0.00000000 0.15564202 0.00000000 0.07782101
## 3 0.48606610 0.19442644 0.12961763 0.12961763 0.12961763 0.06480881
## 4 0.18975332 0.12650221 0.12650221 0.06325111 0.06325111 0.00000000
##
## 72 73 74 75 76 77
## 1 0.21413276 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
## 2 0.07782101 0.00000000 0.07782101 0.00000000 0.00000000 0.07782101
## 3 0.03240441 0.03240441 0.00000000 0.00000000 0.03240441 0.00000000
## 4 0.00000000 0.06325111 0.00000000 0.03162555 0.03162555 0.00000000
##
## 78
## 1 0.00000000
## 2 0.00000000
## 3 0.03240441
## 4 0.00000000
#-------------------------------------------------
# Tamaño clusters
cluster_tamaño <- table(datos1$Cluster)
print(cluster_tamaño)
##
## 1 2 3 4
## 467 1285 3086 3162
# Tamaño clusters en porcentaje
total_observaciones <- length(datos1$Cluster)
porcentaje_clusters <- (cluster_tamaño / total_observaciones) * 100
print(porcentaje_clusters)
##
## 1 2 3 4
## 5.8375 16.0625 38.5750 39.5250
#————————————————- # Se emplearán un total de 4 clusters, se categorizarán como Clientes Transactor, Short-term Borrowers, Occasional Revolver y Revolver.
#-------------------------------------------------
# Mapa de Calor
demograficos_ds <- datos[, c(2:11, 17:19)]
demograficos_num <- demograficos_ds[sapply(demograficos_ds, is.numeric)]
demograficos_escalados <- scale(demograficos_num)
medianas_demo <- apply(demograficos_escalados, 2, median)
kmeans_result_demograficos <- kmeans(demograficos_escalados, centers = 4)
kmeans_result_demograficos$centers
## X2 X3 X4 X5 X6 X7 X8
## 1 -0.3282851 -0.4192732 -0.3474453 -0.2422774 -0.3781867 -0.2256326 -0.7731402
## 2 1.2207203 0.4240177 4.1825029 3.7376671 3.0341925 -0.1502956 1.1059075
## 3 -0.2463775 0.2822910 0.1952077 0.0788530 0.3184380 -0.3426112 1.0158990
## 4 1.3445065 0.3917875 -0.2776145 -0.1969039 -0.2962125 1.5503494 -0.6092014
## X9 X10 X11 X18
## 1 -0.4196444 -0.6809227 -0.1729756 -0.08677951
## 2 1.7868102 0.9992029 -0.3387864 0.15812063
## 3 0.4535745 0.8917675 -0.4354606 0.12413963
## 4 -0.2967139 -0.5335555 1.6733369 -0.10057739
finanzas_ds <- datos [, 12:16]
finanzas_num <- finanzas_ds[sapply(finanzas_ds, is.numeric)]
finanzas_escalados <- scale(finanzas_num)
medianas_finanzas <- apply(finanzas_escalados, 2, median)
kmeans_result_finanzas <- kmeans(finanzas_escalados, centers = 4)
kmeans_result_finanzas$centers
## X12 X13 X14 X15
## 1 -0.4082734 -0.3132381 -0.17837294 -3.5668746
## 2 1.2133713 0.4483124 0.07053683 0.2507054
## 3 1.3834135 3.9647941 4.17309415 0.2444616
## 4 -0.4948097 -0.2612181 -0.12527111 0.2308735
heatmap(kmeans_result_finanzas$centers, main = "Heatmap de Centros de K-means de variables finanzas")
heatmap(kmeans_result_demograficos$centers, main = "Heatmap de Centros de K-means de variables demográficas")
#-------------------------------------------------
# Heterogeneidad
# Calcular el promedio de variables numéricas por cluster
cluster_means <- aggregate(datos_escalados, by=list(Cluster=datos1$Cluster), mean)
print(cluster_means)
## Cluster X2 X3 X4 X5 X6 X7
## 1 1 -0.19800491 -0.3158725 -0.2601288 -0.1852328 -0.2762404 0.2658645
## 2 2 -0.71524280 -1.9092201 -0.2949280 -0.2360426 -0.2645588 -0.3323502
## 3 3 -0.04557268 0.4092588 0.5340276 0.3893434 0.5497921 -0.2600120
## 4 4 0.36438728 0.4231144 -0.3629180 -0.2567031 -0.3882657 0.3495598
## X8 X9 X10 X11 X12 X13
## 1 -0.2458047 -0.2819071 -0.2647677 0.4444432 -0.41910419 -0.31215814
## 2 -0.4248078 -0.4262978 -0.3353756 -0.5357226 -0.19663467 -0.21500328
## 3 1.0396765 0.6425315 0.9025811 -0.3722586 0.21557914 0.19602647
## 4 -0.8057473 -0.4122103 -0.7054906 0.5153823 -0.06858951 -0.05783701
## X14 X15 X18
## 1 -0.18079749 -3.6497446 -0.16458287
## 2 -0.30048156 0.1719043 0.09166799
## 3 0.03093856 0.2627964 0.12113770
## 4 0.11861949 0.2126958 -0.13117145
# Ejemplo de histograma para una variable
# homogeneidad
hist(kmeans_result_demograficos$centers) # no hay homogeniedad en los datos demograficos, ya que la mayor cantidad los valores esta inclinada a la izquierda de la media.
hist(kmeans_result_finanzas$centers) # en este casoo se puede decir que si hay algun tipo de homogeniedad ya que se puede ver una distribucion un poco más asimetrica y con una diferencia muy chica.
# Tabla de contingencia para 'Estatus Marital'
contingency1 <- table(datos1$Cluster, datos$X19)
print(contingency1)
##
## Casado Soltero
## 1 207 260
## 2 475 810
## 3 1209 1877
## 4 1395 1767
# Ejemplo de PCA
pca_result <- prcomp(datos_escalados, center=TRUE, scale=TRUE)
plot(pca_result$x[,1], pca_result$x[,2], col=datos1$Cluster, pch=19, main="PCA Plot")