library(rio)
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)
data_preg2=import("dataOK_all.xlsx")
## New names:
## • `` -> `...1`
Utilizando el porcentaje de viviendas que tiene agua de red publica dentro de la vivienda, la razón de votacion de keiko entre castillo, y la tasa fallecidos por cada 1000 contagiados, Ud se propone agrupar a las provincias del Peru (sin la provincia de Lima) siguiendo diversas estrategias (no corrija correlacion negativa si la hubiera, pero siempre normalice); y en ese proceso Ud. encuentra…
Respuesta: Haremos clustering
Primero normalizamos los datos:
datos_normalizados <- scale(data_preg2[, c("agua1_Red", "Keiko", "Castillo", "covidFallecidos", "covidPositivos")])
Razón de votación entre Keiko y Castillo:
data_preg2$razon_votacion <- data_preg2$Keiko / data_preg2$Castillo
Porcentaje de viviendas con agua de red pública:
data_preg2$agua_pct <- (data_preg2$agua1_Red / data_preg2$agua10_Total) * 100
Tasa de fallecidos por cada 1000 contagiados
data_preg2$tasa_fallecidos_1000 <- ifelse(data_preg2$covidPositivos == 0, NA, (data_preg2$covidFallecidos / data_preg2$covidPositivos) * 1000)
Agrupamos - Clustering aglomerativo
# Calcular la distancia entre las provincias (normalizadas)
distancias <- dist(datos_normalizados)
# Aplicar el clustering jerárquico aglomerativo
aglomerativo <- hclust(distancias)
# Graficar el dendrograma (para ver cómo se agrupan las provincias)
plot(aglomerativo)
- Clustering divisivo
# Aplicar el clustering jerárquico divisivo
divisivo <- diana(datos_normalizados)
# Graficar el resultado del clustering divisivo
plot(divisivo)