덴드로그램 미관 개선
덴드로그램을 만들었지만… 생각만큼 눈에 띄진 않네요!
dendextend 패키지는 가지(branch)에 색을 입히고 클러스터 윤곽을 표시해 주어, 보는 사람이 더 쉽게 이해하도록 도와줘요. dendextend는 덴드로그램 객체에서 동작하므로, hclust로 만든 계층적 클러스터를 as.dendrogram()으로 변환해야 합니다.
덴드로그램의 용어를 살펴보는 좋은 방법은 labels() 함수예요. 덴드로그램의 모든 용어를 출력합니다. 특정 가지를 강조하려면 branches_attr_by_labels()를 사용하세요. 먼저 덴드로그램 객체를 전달하고, 이어서 c("data", "camp")처럼 용어 벡터를 전달하세요. 마지막으로 "blue"처럼 색상을 추가합니다.
그래프를 만든 후에는 rect.dendrogram()으로 클러스터를 강조할 수 있어요. 각 클러스터를 둘러싸는 사각형이 추가됩니다. rect.dendrogram()의 첫 번째 인자는 덴드로그램이고, 그다음은 클러스터 개수(k)입니다. 또한 사각형 색을 지정하는 border 인자를 전달할 수 있어요(예: "green").
이 연습은 강의의 일부입니다
R로 배우는 Bag-of-Words 텍스트 마이닝
연습 안내
dendextend 패키지는 이미 로드되어 있고, tweets_dist로부터 생성한 계층적 클러스터 객체 hc가 준비되어 있어요.
hc에as.dendrogram()을 적용해 덴드로그램hcd를 생성하세요.hcd의labels를 콘솔에 출력하세요.branches_attr_by_labels()를 사용해 가지에 색을 입히세요. 세 가지 인자를 전달합니다:hcd객체,c("marvin", "gaye"), 색상"red". 결과를hcd_colored에 할당하세요.- 덴드로그램
hcd_colored를plot()하고,main인자를 사용해 제목"Better Dendrogram"을 추가하세요. rect.dendrogram()으로 그래프에 사각형을 추가하세요. 클러스터는k = 2로 지정하고,border색은"grey50"로 하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Create hcd
___ <- ___(___)
# Print the labels in hcd
___(___)
# Change the branch color to red for "marvin" and "gaye"
___ <- ___(___, ___, ___)
# Plot hcd_colored
___(___, ___)
# Add cluster rectangles
___(___, ___, ___)