-1
我通过使用函数hclust进行聚类,现在我想绘制每个簇周围的多边形!在hclust的簇周围绘制多边形
我该怎么做?我只有一组具有集群ID的点!
例如这个图像有两个类和4个不同的区域!我如何获得这些区域的数量?
我通过使用函数hclust进行聚类,现在我想绘制每个簇周围的多边形!在hclust的簇周围绘制多边形
我该怎么做?我只有一组具有集群ID的点!
例如这个图像有两个类和4个不同的区域!我如何获得这些区域的数量?
您可以使用凸包函数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])
}
谢谢您的回答!我试过这个,但是我的数据出错了!我应该提到,例如,我有两个数据点,分别是集群1,集群3,集群2等等!我得到这个错误; ruspini中的错误[Cluster4 == i,] [ConvexHull,]: 维数不正确 –
@OumbiaAsadian您需要用您的数据替换Ruspini数据。我只是以此为例。 – G5W
是的,我当然替换了我的数据!但我的数据出现这个错误! :/ –