[R] R을 이용한 통계 분석 및 데이터 시각화 : 히트맵

 정보

  • 업무명     : 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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

본 블로그는 파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음