[英]getting clusters from R's heatmap function?
我正在使用R的heatmap
功能來進行分層聚類( http://www.inside-r.org/r-doc/stats/heatmap )。 是否有一個函數可以獲取heatmap
返回的對象,並通過對樹形圖應用閾值alpha
來返回聚類? 功能如下:
h <- heatmap(...)
clusters <- get_clusters(h, alpha=0.5)
其中clusters
是一個與輸入數據幀的列數相同的數組,並為每個條目返回0到n-1之間的數字,其中n是列數(將列分配給簇)。 R中是否存在這種情況?
您正在尋找heatmap
功能的keep.dendro
參數。 然后將樹形圖存儲在輸出的Rowv
和Colv
元素中。
x = matrix( rnorm(25), ncol=5 )
h = heatmap(x,keep.dendro=TRUE)
接下來,使用as.hclust
函數將dendrogram
對象轉換為hclust
對象。 然后,如評論中所述,您可以使用cutree
來獲取集群。
row.clusters = as.hclust( h$Rowv )
cutree(row.clusters,k=3) # break into k=3 clusters
當然,你可以通過這樣做來獲得row.clusters
row.clusters = hclust(dist(x))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.