пространственная кластеризация в R (простой пример)

У меня есть это простоdata.frame

 lat<-c(1,2,3,10,11,12,20,21,22,23)
 lon<-c(5,6,7,30,31,32,50,51,52,53)
 data=data.frame(lat,lon)

Идея состоит в том, чтобы найти пространственные кластеры на основе расстояния

Сначала я строю карту (lon, lat):

plot(data$lon,data$lat)

так ясно, у меня есть три кластера, основанные на расстоянии между положением точек.

Для этой цели я пробовал этот код в R:

d= as.matrix(dist(cbind(data$lon,data$lat))) #Creat distance matrix
d=ifelse(d<5,d,0) #keep only distance < 5
d=as.dist(d)
hc<-hclust(d) # hierarchical clustering
plot(hc)
data$clust <- cutree(hc,k=3) # cut the dendrogram to generate 3 clusters

Это дает :

Теперь я пытаюсь построить те же точки, но с цветами из кластеров.

plot(data$x,data$y, col=c("red","blue","green")[data$clust],pch=19)

Здесь результаты

Который не то, что я ищу.

На самом деле, я хочу найти что-то вроде этого сюжета

Спасибо за помощь.

Ответы на вопрос(1)

Ваш ответ на вопрос