2016-03-08 70 views
1

我已經使用hclust生成了一些數據的簇樹形圖,但是我需要隔離所有配對的簇,即構成僅2個數據的所有簇(第一個即使它們可能與「更高」分支上的其他數據聚集在一起)。有誰知道我該怎麼做?R - 在hclust中具有特定特徵的孤立簇

我已經突出顯示了我想要在附加圖像中分離的簇,希望能夠更好地解釋它。

Dendrogram

我希望能夠在所有這些集羣配對數據隔離以這樣的方式能夠在集羣上比較它們的內容。例如查看其中哪些包含特定類型的數據。

+1

習慣提供了一個請可重現的例子 - 即代碼(您嘗試過的)包含虛擬數據,準備好複製粘貼 - 運行。請參閱http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example – lukeA

回答

3

FWIW,你可以提取 「叉」 是這樣的:

hc <- hclust(dist(USArrests), "ave") 
plot(hc) 

enter image description here

res <- list() 
invisible(dendrapply(as.dendrogram(hc), function(x) { 
    if (attr(x, "members")==2) 
    if (all(sapply(x[1:2], is.leaf))) 
     res <<- c(res, list(c(attr(x[[1]], "label"), attr(x[[2]], "label")))) 
    x 
})) 
head(do.call(rbind, res)) 
#  [,1]   [,2]    
# [1,] "Florida"  "North Carolina" 
# [2,] "Arizona"  "New Mexico"  
# [3,] "Alabama"  "Louisiana"  
# [4,] "Illinois" "New York"  
# [5,] "Michigan" "Nevada"   
# [6,] "Mississippi" "South Carolina" 

(只是第6行的結果)的

+1

非常感謝,這正是我所需要的,並且我已經想出了從這一點開始的進展情況。將來我會嘗試提供一個可重複的例子。 – Rquestion550

+0

不客氣。如果您認爲這解決了問題,請隨時在答案旁邊打勾。 – lukeA

相關問題