分层聚类生成列表而不是hclust

时间:2017-05-24 09:58:36

标签: r

我在R中做了一些等级聚类。它现在已经很好了,产生了左边和中心的hclust对象,但突然间不再了。现在它只会在执行时生成列表:

mydata.clusters <- hclust(dist(mydata[, 1:8]))
mydata.clustercut <- cutree(mydata.clusters, 4)

并尝试:

table(mydata.clustercut, mydata$customer_lifetime) 

它不会产生一个表,但是无穷无尽的值(我从列表中猜测)。

1 个答案:

答案 0 :(得分:0)

cutree函数提供每个观察所属的分组。例如:

iris.clust <- hclust(dist(iris[,1:4]))
iris.clustcut <- cutree(iris.clust, 4)

iris.clustcut
# [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2
# [52] 2 2 3 2 3 2 3 2 3 3 3 3 2 3 2 3 3 2 3 2 3 2 2 2 2 2 2 2 3 3 3 3 2 3 2 2 2 3 3 3 2 3 3 3 3 3 2 3 3 2 2
# [103] 4 2 2 4 3 4 2 4 2 2 2 2 2 2 2 4 4 2 2 2 4 2 2 4 2 2 2 4 4 4 2 2 2 4 2 2 2 2 2 2 2 2 2 2 2 2 2 2

然后可以使用此作为观察数据的分组变量来进行其他比较:

new.iris <- data.frame(iris, gp=iris.clustcut)

# example to visualise quickly the Species membership of each group 

library(ggplot2)
ggplot(new.iris, aes(gp, fill=Species)) + 
    geom_bar()

enter image description here