정보

    • 업무명     : R을 이용한 통계 분석 및 데이터 시각화 : 히트맵

    • 작성자     : 박진만

    • 작성일     : 2020-04-03

    • 설   명      :

    • 수정이력 :

     

     내용

    [개요]

    • R은 통계 분석 및 시각화 등의 기능을 갖춘 프로그래밍 언어 내지 통계 분석 환경입니다. 

    • 통계 분석 기능으로 통계 검정, 선형 회귀 분석, 시계열 데이터 분석, 클러스터링 등을 지원하고 있습니다.

    • 또한 최신 논문에서 발표된 같은 새로운 기술도 R로 구현되는 경우가 많습니다.

    • 특히 시각화 기능으로 히스토그램, 막대 그래프, 선 그래프, 산포도, 나무 모양 그림이나 히트맵 등 기본적인 그래프가 기본으로 지원하고 있습니다.

    • 또한 ggplot2 등의 패키지를 사용하여 더 높은 수준의 그림을 가시화할 수 있습니다.

     

     

    [특징]

    • 데이터를 이해하기 위해서 통계 분석 및 데이터 시각화가 요구되며 이 프로그램은 이러한 목적을 달성하기 위한 소프트웨어

       

    [기능]

    • 데이터형 소개

     

    [활용 자료]

    • 없음

     

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

    • 없음

     

    [사용법]

    • 소스 코드 예시 참조

     

    [사용 OS]

    • Windows 10

     

    [사용 언어]

    • R v3.6.2

    • R Studio v1.2.5033

     

     소스 코드

    [heatmap]

    • 매트릭스 형의 데이터로부터 heatmap함수를 이용하면 히트 맵으로 그려진다. 

    • 행과 열은 자동으로 클러스터링이 이루어진다.

    x <- matrix(rnorm(100), ncol = 4)
    colnames(x) <- paste0("lib", 1:ncol(x))
    rownames(x) <- paste0("gene", 1:nrow(x))
    head(x)
    ##             lib1       lib2       lib3       lib4
    ## gene1 -0.4752599 -1.0358687  1.0474508 -0.8438768
    ## gene2 -2.0747126  0.1360623  0.8924237 -0.4413562
    ## gene3  0.9027044  1.8960928  1.2700205  0.9531910
    ## gene4 -0.7374487  0.8610647  1.4687483 -0.3636694
    ## gene5  1.2868677 -0.7670078 -1.1653529 -0.8196983
    ## gene6 -0.1245493  0.5495175 -0.9170723 -1.5751826
    
    heatmap(x)

     

    • 히트 맵을 그릴 때 자동으로 클러스터링을 하지 않도록 하려면 Colv = NA 또는 Rowv = NA 을 해 주면 된다. (행과 열에 대한 옵션)

    • 아래의 예시는 행을 클러스터링 하지만, 열은 클러스터링 하지 않는 예이다.

    heatmap(x, Colv = NA)
    

     

    • 클러스터링은 기본적으로 dist함수에 의해 거리가 계산되고, hclust에 따라 클러스터링이 이루어진다. 

    • 예를 들어, hclust 클러스터링 기법 등을 변경하는 경우에는 아래와 같이 한다.

    heatmap(x, hclustfun = function(x) { hclust(x, method = "ward") })
    

     

    [heatmap.2]

    • 히트맵 이외에 밀도 데이터와 스케일 바 등의 부가 정보도 그려야 하는 경우 gplots 패키지의 heatmap.2 기능을 사용할 수 있다.

    library(gplots)
    heatmap.2(x)

    • 행과 열의 클러스터링 여부에 대해서는 heatmap함수와 마찬가지로 Colv = NA 및 Rowv = NA을 이용하여 지정할 수 있다.

     

    [regHeatmap]

    • Heatplus 패키지에 포함되어있는 regHeatmap함수를 이용하여 히트 맵을 그릴 수있다.

    • Heatplus 패키지는 Bioconductor에 포함되어 있기 때문에 다음과 같은 방법으로 설치할 필요가있다.

    source("http://bioconductor.org/biocLite.R")
    biocLite("Heatplus")

     

    • 아래의 예시는 heatplus를 이용하여 히트 맵을 그리는 코드이다.

    library(Heatplus)
    
    regHM <- regHeatmap(x)
    plot(regHM)

     

    [다음글]

     

    [R] R을 이용한 통계 분석 및 데이터 시각화 : 그림으로 수식 표기

    정보 업무명 : R을 이용한 통계 분석 및 데이터 시각화 : 그림으로 수식 표기 작성자 : 박진만 작성일 : 2020-04-03 설 명 : 수정이력 : 내용 [개요] R은 통계 분석 및 시각화 등의 기능을 갖춘 프로그래밍 언어..

    shlee1990.tistory.com

     

    [이전글]

     

    [R] R을 이용한 통계 분석 및 데이터 시각화 : 입체 산포도

    정보 업무명 : R을 이용한 통계 분석 및 데이터 시각화 : 입체 산포도 작성자 : 박진만 작성일 : 2020-03-24 설 명 : 수정이력 : 내용 [개요] R은 통계 분석 및 시각화 등의 기능을 갖춘 프로그래밍 언어 내지 통..

    shlee1990.tistory.com

     

     

     참고 문헌

    [논문]

    • 없음

    [보고서]

    • 없음

    [URL]

    • 없음

     

     문의사항

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

    • sangho.lee.1990@gmail.com

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

    • saimang0804@gmail.com

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    본 블로그는 파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기