2016-07-06 10 views
2

처음으로 dendrogram을 구축 중이며 클러스터 주위의 사각형이 레이블 위에 그려져 있습니다. 이 중복을 피하기 위해 이러한 레이블의 위치를 ​​수정하는 방법을 알고 계십니까? 여기R 및 rect.hclust : dendrograms의 레이블에있는 사각형

당신이 내 코드의 작동 예를 찾을 수 있습니다 내가 빨간색을하고 싶은 특히

Worked example of dendrogram

: 여기

mydata <- c(9.45, 10.54, 10.36, 10.46, 10.78, 10.1, 11.13) 
mydata.matrix <- matrix(mydata, nrow = 1, ncol = 7) 
colnames(mydata.matrix) <- c("a", "b", "c", "d", "e", "f", "g") 
rownames(mydata.matrix) <- c("X") 

d <- dist(mydata.matrix["X", ], method = "euclidean") 
fit <- hclust(d, method="ward.D") 

nodePar <- list(lab.cex = 0.6, pch = c(NA, 19), cex = 0.7, col = "blue") 
plot(as.dendrogram(fit), xlab = "", sub="", ylab = "Euclidean distance", 
    main = "Dendrogram", nodePar = nodePar) 

rect.hclust(fit, k=2, border="red") 

그리고 위의 코드에서 플롯이다 직사각형은 완전히 멍멍의 잎의 레이블을 포함합니다.

감사합니다.

답변

1

당신은 예를 들어, dendextend package.

에서 rect.dendrogram 기능을 사용해야합니다

mydata <- c(9.45, 10.54, 10.36, 10.46, 10.78, 10.1, 11.13) 
mydata.matrix <- matrix(mydata, nrow = 1, ncol = 7) 
colnames(mydata.matrix) <- c("a", "b", "c", "d", "e", "f", "g") 
rownames(mydata.matrix) <- c("X") 

d <- dist(mydata.matrix["X", ], method = "euclidean") 
fit <- hclust(d, method="ward.D") 

nodePar <- list(lab.cex = 0.6, pch = c(NA, 19), cex = 0.7, col = "blue") 
dend <- as.dendrogram(fit) 
plot(dend, xlab = "", sub="", ylab = "Euclidean distance", 
    main = "Dendrogram", nodePar = nodePar) 

library(dendextend) 
rect.dendrogram(dend , k=2, border="red") 

그리고 당신은 얻을 것이다 : 일반적으로 enter image description here

을 dendrograms을 플로팅 다음을 찾을 수 있습니다 유용하게 사용하려면 quick introduction을 입력하십시오 (또는 more lengthy version 참조).

+1

p.s .: 레이블이 표시되는지 확인하려면 par (xpd = TRUE) 또는 이와 비슷한 것이 필요할 것입니다. –