我使用函数hclust进行聚类,现在我想在每个聚类周围绘制多边形!
我怎么做?我只有一组带有群集ID的点!
例如,此图像有两个类和4个不同的区域!我怎么能得到这些区域的数量?
答案 0 :(得分:1)
您可以使用凸包函数chull
执行此操作。
## First part sets up problem
library(cluster) ## For Ruspinin data
Rusp_HC = hclust(dist(ruspini))
Cluster4 = cutree(Rusp_HC, 4)
plot(ruspini, pch=20, col=rainbow(4)[Cluster4])
## Now get the polygons
for(i in 1:4) {
ConvexHull = chull(ruspini[Cluster4 == i, ])
polygon(ruspini[Cluster4 == i, ][ConvexHull,],
border=rainbow(4)[i], col=rainbow(4, alpha=0.1)[i])
}