我觉得这不会太难。我知道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
的高度未订购。
答案 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
最后三行计算并显示每个点到其所分配的质心的距离。