Primero se cargara la base
library(readxl)
datos <- read_excel("datos.xlsx")
View(datos)
Tomamdos las primera 6 ciudades
Usamos la distacia Euclidiana como metodo de similitud
# Paso 1: Extraer las primeras 8 filas
ciudades <- datos[1:8, ]
# Paso 2: Quitar la columna "City"
ciudades_numericas <- ciudades[,-1]
# Añadir esta lÃnea para que los nombres de las ciudades se usen como rownames
nombres <- ciudades$City
# Paso 3: Calcular la distancia euclidiana
datos_EUC <- dist(ciudades_numericas, method = "euclidean")
# paso 4: para mirar la matrix de distacia
matriz_dist <- as.matrix(datos_EUC)
round(matriz_dist, 1)
## 1 2 3 4 5 6 7 8
## 1 0.0 536.6 516.4 590.2 693.6 716.2 215.2 443.7
## 2 536.6 0.0 447.4 833.1 915.0 881.1 493.5 723.8
## 3 516.4 447.4 0.0 924.0 1073.4 971.5 426.5 893.9
## 4 590.2 833.1 924.0 0.0 527.7 464.5 723.6 421.0
## 5 693.6 915.0 1073.4 527.7 0.0 358.7 894.0 376.4
## 6 716.2 881.1 971.5 464.5 358.7 0.0 892.3 517.6
## 7 215.2 493.5 426.5 723.6 894.0 892.3 0.0 609.4
## 8 443.7 723.8 893.9 421.0 376.4 517.6 609.4 0.0
# paso 5:
# Agrupamiento jerárquico usando enlace simple (Single Linkage)
hc_single <- hclust(datos_EUC, method = "single")
#para mirar el orden en que se forman los conglomerados
hc_single$merge
## [,1] [,2]
## [1,] -1 -7
## [2,] -5 -6
## [3,] -8 2
## [4,] -4 3
## [5,] -3 1
## [6,] 4 5
## [7,] -2 6
#Y las alturas (distancias) a las que se unen:
hc_single$height
## [1] 215.1604 358.6654 376.4364 420.9614 426.4688 443.6810 447.4033
# Paso 6: Graficar el dendrograma
plot(hclust(datos_EUC, method = "single"),
labels = nombres,
main = "Enlace simple",
xlab = "")
Puedes agregar rectángulos de colores alrededor de los clústeres con:
hc <- hclust(datos_EUC, method = "single")
plot(hc, labels = nombres, main = "Enlace simple", xlab = "")
rect.hclust(hc, k = 3, border = "blue") # o usa k = 3 si quieres más clústeres
# Paso 4: Graficar el dendrograma
plot(hclust(datos_EUC, method = "complete"),
labels = nombres,
main = "Enlace Completo",
xlab = "")
# Paso 4: Graficar el dendrograma
plot(hclust(datos_EUC, method = "average"),
labels = nombres,
main = "Enlace Promedio",
xlab = "")
# Paso 4: Graficar el dendrograma
plot(hclust(datos_EUC, method = "centroid"),
labels = nombres,
main = "Método Centroide",
xlab = "")