我有这个简单的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)
这个想法是根据距离找到空间聚类
首先,我绘制地图(经度,纬度):
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)
这是结果
这不是我要找的。
其实我也想找类似这样的剧情
谢谢你的帮助。