2016-12-22 12 views
1

identify.hclust을 사용하여 R에서 hclust에서 작성한 dendrogram을 수동으로 자르고 있습니다. 함수의 기본 반환 값은 각 그룹의 관측 값입니다. 이 정보가 필요하지만이 그룹의 높이를 알아야합니다. 그것을하는 어떤 방법이 있습니까? 고마워!identify.hclust()를 사용하여 절단 높이를 얻으십시오

재현 데이터 : 예를 들어

set.seed(1) 
dat = rnorm(100,0,1) 
hca = hclust(dist(dat)) 
plot(hca, hang=-1, sub="", xlab="", labels=F) 
heightsAndIDs = identify(hca) #Gives only IDs 

, 나는 identify을 사용하여 다음과 같은 높이에서 dendrogram은 잘라 및 지점에 대한 병합의 높이 싶어 : 나는 의심

segments(3,2,8, col="red") 
segments(15,1,18, col="green") 
segments(20,1,24,col="blue") 
segments(38,1.5,45,col="purple") 
segments(75, 1.5, 82,col="cyan") 
+0

'identify()'try'locator()' – G5W

+0

고마워, 그게 분명 도움이 될거야. 이제 기본 반환 값과 결합해야합니다. – Oligg

답변

0

을 R 패키지 dendextend에서 두 가지 기능 heights_per_k.dendrogramget_branches_heights의 답을 얻을 수 있습니다. 예를 들어

set.seed(1) 
dat = rnorm(100,0,1) 
hca = hclust(dist(dat)) 

library(dendextend) 

:

> sort(heights_per_k.dendrogram(dend))[1:7] 
      100   99   98 
0.00002485728 0.00010400211 0.00020365009 
      97   96   95 
0.00118445439 0.00180321776 0.00215161572 
      94 
0.00230368982 
> sort(heights_per_k.dendrogram(dend), T)[1:7] 
     1   2   3   4   5 
4.6163377 4.6162976 3.1585161 1.8779138 1.3384979 
     6   7 
1.1705453 0.9620798 

이 당신에게 답을 얻기를위한 도구를 제공 하는가 여기

작은 예입니다?