从hclust围绕簇绘制多边形

时间:2017-07-05 14:05:41

标签: r cluster-analysis polygons hclust

enter image description here我使用函数hclust进行聚类,现在我想在每个聚类周围绘制多边形!

我怎么做?我只有一组带有群集ID的点!

例如,此图像有两个类和4个不同的区域!我怎么能得到这些区域的数量?

1 个答案:

答案 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])
}

Convex hulls