정보

    • 업무명     : 덴드로그램 플롯의 레이블에 색을 입혀주는 "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
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기