pacman::p_load(dplyr, ggplot2, ClustGeo, readxl, xlsx)

1 Data

data <- read_excel("Zonasi MBR.xlsx")

data_cluster <- data %>%
  select(prov, kabu, reg0, reg1, IKK, milik, sewa, kontrak, luas_bangunan, 
         sum, sumsekon, expend, tigat, lat, lon)

2 Standardisasi variabel

data_sosial <- scale(data_cluster %>% select(prov, kabu, reg1, IKK, kontrak, tigat))
D0 <- dist(data_sosial)  # jarak sosial ekonomi

3 Jarak spasial dari koordinat

data_geo <- data_cluster %>% select(lat, lon)
D1 <- dist(data_geo)     # jarak geografis

# Hierarki clustering gabungan dengan alpha sebagai kompromi sosial dan spasial
tree <- hclustgeo(D0, D1, alpha = 0.2) 

Pengklasteran sebanyak 5 klaster

clusters <- cutree(tree, k = 5)

data_clustered <- data_cluster %>%
  mutate(cluster = as.factor(clusters))

4 Visualisasi

ggplot(data_clustered, aes(x = lon, y = lat, color = cluster)) +
  geom_point(size = 3) +
  theme_minimal() +
  coord_fixed(ratio = 1.2) +
  labs(
    title = "Clustering Zonasi MBR",
    x = "Longitude", y = "Latitude", color = "Cluster"
  )

5 Save Data

write.xlsx(data_clustered, "Output_hasil_cluster_ClustGeo.xlsx")

Direktorat Statistik Kesejahteraan Rakyat, BPS,