将R中给定半径内的点组合到质心

时间:2012-09-26 13:36:34

标签: r cluster-analysis centroid

我觉得这不会太难。我知道hclust()cutree()但是如何获得质心的坐标,其中没有点距离高于给定的半径?我知道质心范围内的点可能已经属于不在范围内的质心。我很好。

set.seed(1)
data <- matrix(runif(100),ncol=2)
plot(data) 
dclust <- hclust(dist(data),method="centroid")
cutree(dclust,h=0.1)

cutree(...,h=0.1)已失败,因为dclust的高度未订购。

1 个答案:

答案 0 :(得分:0)

使用您的数据和运行25个组的kmeans会产生以下结果。这是你得到的吗?

Example <- kmeans(data, 25)
plot(data, type="n")
text(Example$centers, unlist(dimnames(Example$centers)), col="red")
text(data, as.character(Example$cluster), cex=.75)
cdist <- sqrt((data[,1] - Example$centers[Example$cluster, 1])^2 + 
     (data[, 2] - Example$centers[Example$cluster, 2])^2)
names(cdist) <- 1:50
cdist

最后三行计算并显示每个点到其所分配的质心的距离。