library(readxl)
dataOK_all <- read_excel("dataOK_all.xlsx")
## New names:
## • `` -> `...1`
View(dataOK_all)
library(dplyr)
##
## Adjuntando el paquete: '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)
str(dataOK_all)
## tibble [196 × 50] (S3: tbl_df/tbl/data.frame)
## $ ...1 : num [1:196] 1 2 3 4 5 6 7 8 9 10 ...
## $ key : chr [1:196] "AMAZONAS+BAGUA" "AMAZONAS+BONGARA" "AMAZONAS+CHACHAPOYAS" "AMAZONAS+CONDORCANQUI" ...
## $ Código : num [1:196] 102 103 101 104 105 106 107 202 203 204 ...
## $ pared1_Ladrillo : num [1:196] 4633 1602 3782 291 430 ...
## $ pared2_Piedra : num [1:196] 46 9 22 7 7 7 35 1 0 3 ...
## $ pared3_Adobe : num [1:196] 6639 2729 5881 672 5217 ...
## $ pared4_Tapia : num [1:196] 222 240 2476 8 6052 ...
## $ pared5_Quincha : num [1:196] 2518 157 309 386 346 ...
## $ pared6_Piedra : num [1:196] 127 36 168 7 54 28 518 65 7 6 ...
## $ pared7_Madera : num [1:196] 4484 2505 1270 8145 606 ...
## $ pared8_Triplay : num [1:196] 851 30 91 200 45 24 210 18 0 1 ...
## $ pared9_Otro : num [1:196] 0 0 0 0 0 0 0 0 0 0 ...
## $ pared10_Total : num [1:196] 19520 7308 13999 9716 12757 ...
## $ techo1_Concreto : num [1:196] 2187 692 2262 56 187 ...
## $ techo2_Madera : num [1:196] 294 75 160 188 43 48 340 57 12 8 ...
## $ techo3_Tejas : num [1:196] 179 382 3393 177 3071 ...
## $ techo4_Planchas : num [1:196] 13186 6084 8005 2036 9343 ...
## $ techo5_Caña : num [1:196] 160 38 50 15 26 15 196 10 8 5 ...
## $ techo6_Triplay : num [1:196] 106 5 14 10 12 5 62 17 4 3 ...
## $ techo7_Paja : num [1:196] 3408 32 115 7234 75 ...
## $ techo8_Otro : num [1:196] 0 0 0 0 0 0 0 0 0 0 ...
## $ techo9_Total : num [1:196] 19520 7308 13999 9716 12757 ...
## $ piso1_Parquet : num [1:196] 6 5 23 2 4 3 20 0 0 5 ...
## $ piso2_Láminas : num [1:196] 19 2 36 0 0 4 32 0 0 1 ...
## $ piso3_Losetas : num [1:196] 647 165 1077 20 46 ...
## $ piso4_Madera : num [1:196] 157 132 240 1523 295 ...
## $ piso5_Cemento : num [1:196] 7121 2917 6189 943 1911 ...
## $ piso6_Tierra : num [1:196] 11569 4087 6434 7228 10501 ...
## $ piso7_Otro : num [1:196] 1 0 0 0 0 0 0 0 0 0 ...
## $ piso8_Total : num [1:196] 19520 7308 13999 9716 12757 ...
## $ agua1_Red : num [1:196] 9429 4569 10647 1307 7172 ...
## $ agua2_Red_fueraVivienda: num [1:196] 4392 1497 1619 867 3097 ...
## $ agua3_Pilón : num [1:196] 793 215 184 1003 1112 ...
## $ agua4_Camión : num [1:196] 59 0 49 2 0 0 117 0 0 0 ...
## $ agua5_Pozo : num [1:196] 1792 474 876 2564 819 ...
## $ agua6_Manantial : num [1:196] 270 67 92 431 132 211 471 121 61 27 ...
## $ agua7_RÃo : num [1:196] 2648 388 488 3428 369 ...
## $ agua8_Otro : num [1:196] 56 61 24 80 9 29 104 2 1 6 ...
## $ agua9_Vecino : num [1:196] 81 37 20 34 47 8 177 9 4 6 ...
## $ agua10_Total : num [1:196] 19520 7308 13999 9716 12757 ...
## $ elec1_SÃ : num [1:196] 13204 6025 12248 1792 10886 ...
## $ elec2_No : num [1:196] 6316 1283 1751 7924 1871 ...
## $ elec3_Total : num [1:196] 19520 7308 13999 9716 12757 ...
## $ departamento : chr [1:196] "AMAZONAS" "AMAZONAS" "AMAZONAS" "AMAZONAS" ...
## $ provincia : chr [1:196] "BAGUA" "BONGARA" "CHACHAPOYAS" "CONDORCANQUI" ...
## $ Castillo : num [1:196] 25629 8374 15671 13154 12606 ...
## $ Keiko : num [1:196] 10770 5209 10473 1446 7840 ...
## $ ganaCastillo : num [1:196] 1 1 1 1 1 1 1 1 1 1 ...
## $ covidPositivos : num [1:196] 8126 389 2174 3481 456 ...
## $ covidFallecidos : num [1:196] 462 72 281 111 88 60 336 26 31 21 ...
#para el porcentajes de vivienda con red pública
dataOK_all$porcentaje_agua<- dataOK_all$agua1_Red/dataOK_all$agua10_Total*100
str(dataOK_all$porcentaje_agua)
## num [1:196] 48.3 62.5 76.1 13.5 56.2 ...
#para la razon de votación entre keiko y castillo
dataOK_all$razon_voto<- dataOK_all$Keiko/dataOK_all$Castillo
str(dataOK_all$razon_voto)
## num [1:196] 0.42 0.622 0.668 0.11 0.622 ...
dataOK_all$tasa_covid<- dataOK_all$covidFallecidos/dataOK_all$covidPositivos*1000
str(dataOK_all$tasa_covid)
## num [1:196] 56.9 185.1 129.3 31.9 193 ...
#quitando a lima
data1 <- dataOK_all |>
filter(key != "LIMA+LIMA") |> # Excluir la provincia de Lima
select(porcentaje_agua, razon_voto, tasa_covid) |>
na.omit() # Eliminar filas con valores faltantes
data_scaled <- scale(data1)
#Calcular distancias euclidianas
dist_matrix <- dist(data_scaled)
# Clustering jerárquico aglomerativo
hclust_agg <- hclust(dist_matrix, method = "ward.D2")
# Dibujar el dendrograma
plot(hclust_agg, main = "Dendrograma - Jerárquico Aglomerativo", xlab = "", sub = "")

# Cortar el dendrograma para obtener k grupos (asumamos 4 grupos)
clusters_agg <- cutree(hclust_agg, k = 4)
# Añadir los grupos al dataset original
data1$cluster_agg <- clusters_agg
# Clustering jerárquico divisivo
diana_clust <- diana(data_scaled)
# Dibujar el dendrograma
plot(diana_clust, main = "Dendrograma - Jerárquico Divisivo", xlab = "", sub = "")

