[R] 덴드로그램 플롯의 레이블에 색을 입혀주는 "colorhcplot" 패키지

 정보

  • 업무명     : 덴드로그램 플롯의 레이블에 색을 입혀주는 "colorhcplot" 패키지 소개

  • 작성자     : 박진만

  • 작성일     : 2020-03-03

  • 설   명      :

  • 수정이력 :

 

 내용

[특징]

  • 댄드로그램을  만들 때 유용한 "colorhcplot" 패키지 소개

 

 

[기능]

  • colorhcplot 패키지 소개

 

[활용 자료]

  • 없음

 

[자료 처리 방안 및 활용 분석 기법]

  • 없음

 

[사용법]

  • 소스 코드 예시 참조

 

[사용 OS]

  • Windows 10

 

[사용 언어]

  • R v3.6.2

  • R Studio v1.2.5033

 

 소스 코드

[명세]

  • 전역 설정

    • 최대 10 자리 설정

    • 메모리 해제

# Set Option
options(digits = 10)
memory.limit(size = 9999999999999)

 

  • 라이브러리 읽기

# Library Load
library(colorhcplot)

 

  • Data Frame 생성

    • 임의의 Data Frame 생성

###임의의 데이터프레임 생성#####
n <- 10
TestData <- data.frame(row.names = paste0("ID", 1:n),
                       Group = sample(paste0("Group", 1:3), n, replace = TRUE),
                       Test_A = rnorm(n),
                       Test_B = rnorm(n),
                       Test_C = rnorm(n))
print(TestData)

 

  • 거리 계산 수행

    • spearman method (Test_A ~ Test_C 의 유클리드 거리 측정 방법)를 이용하여 각 ID 별 거리를 측정하기 위해 amap 패키지를 이용

# 거리 계산
#spearman method 이용하기 위해 amap 패키지를 이용
#install.packages("amap")
library(amap)
DistData <- Dist(TestData[, -1], method = "spearman")
print(DistData)

 

 

 

  • 클러스터링 수행

    • method 옵션 : "ward.D", "ward.D2", "single", "complete", "average" ,"mcquitty", "median", "centroid" 등 다양한 옵션 지원

# 클러스터링 수행
# method 옵션 : "ward.D", "ward.D2", "single", "complete", "average" 
# "mcquitty", "median", "centroid" 등의 옵션 지원
hTestData <- hclust(DistData, method = "complete")

 

  • 덴드로그램 그리기 : colorhcplot 명령

    • 데이터 선택 : hc 옵션

    • 그룹 데이터를 지정 : fac 옵션

    • 응답 값 지정 : hang 옵션 : 음수 라벨을 바닥으로

    • y 축 레이블의 방향 : las 옵션; 1 : 세로 0 : 가로

# 덴드로그램 그리기 : colorhcplot 명령
# 데이터 선택 : hc 옵션
# 그룹 데이터를 지정 : fac 옵션
# 응답 값 지정 : hang 옵션 : 음수 라벨을 바닥으로
# y 축 레이블의 방향 : las 옵션; 1 : 세로 0 : 가로
colorhcplot(hc = hTestData, fac = TestData[, 1],
            hang = -1, main = "Karada Good",
            lab.cex = 1.3, lwd = 2, las = 1,
            color = c("chartreuse2", "orange2", "blue"))

[전체]

install.packages("colorhcplot")
library(colorhcplot)


###임의의 데이터프레임 생성#####
n <- 10
TestData <- data.frame(row.names = paste0("ID", 1:n),
                       Group = sample(paste0("Group", 1:3), n, replace = TRUE),
                       Test_A = rnorm(n),
                       Test_B = rnorm(n),
                       Test_C = rnorm(n))
print(TestData)

# 거리 계산
#spearman method 이용하기 위해 amap 패키지를 이용
#install.packages("amap")
library(amap)
DistData <- Dist(TestData[, -1], method = "spearman")
print(DistData)


# 클러스터링 수행
# method 옵션 : "ward.D", "ward.D2", "single", "complete", "average" 
# "mcquitty", "median", "centroid" 등의 옵션 지원
hTestData <- hclust(DistData, method = "complete")

########


# 덴드로그램 그리기 : colorhcplot 명령
# 데이터 선택 : hc 옵션
# 그룹 데이터를 지정 : fac 옵션
# 응답 값 지정 : hang 옵션 : 음수 라벨을 바닥으로
# y 축 레이블의 방향 : las 옵션; 1 : 세로 0 : 가로
colorhcplot(hc = hTestData, fac = TestData[, 1],
            hang = -1, main = "Karada Good",
            lab.cex = 1.3, lwd = 2, las = 1,
            color = c("chartreuse2", "orange2", "blue"))

 

 참고 문헌

[논문]

  • 없음

[보고서]

  • 없음

[URL]

  • 없음

 

 문의사항

[기상학/프로그래밍 언어]

  • sangho.lee.1990@gmail.com

[해양학/천문학/빅데이터]

  • saimang0804@gmail.com