[R] Heatmap 시각화 Start

BioinformaticsAndMe






Heatmap?


: 히트맵(heatmap)은 2차원의 데이터를 계층적 클러스터링으로 시각화하는 방법

: 행과 열에 존재하는 데이터 값의 칼라 스케일을 조절하면서, 눈에 띄는 데이터 패턴을 찾고자 함

: R에는 Heatmap을 그릴 수 있는 다양한 패키지들이 존재 (사용자 환경에 따라 익숙한 패키지를 사용하면 됨)

1) heatmap:  R base function, stats package

2) heatmap.2:  gplots R package

3) pheatmap:  pheatmap R package

4) d3heatmap:  d3heatmap R package

# 데이터 준비 df <- scale(mtcars) #scale: 데이터 표준화

df

mpg cyl disp hp drat wt qsec Mazda RX4 0.1508848 -0.1049878 -0.57061982 -0.5350928 0.5675137 -0.610399567 -0.7771651 Mazda RX4 Wag 0.1508848 -0.1049878 -0.57061982 -0.5350928 0.5675137 -0.349785269 -0.4637808 Datsun 710 0.4495434 -1.2248578 -0.99018209 -0.7830405 0.4739996 -0.917004624 0.4260068 Hornet 4 Drive 0.2172534 -0.1049878 0.22009369 -0.5350928 -0.9661175 -0.002299538 0.8904872 Hornet Sportabout -0.2307345 1.0148821 1.04308123 0.4129422 -0.8351978 0.227654255 -0.4637808 Valiant -0.3302874 -0.1049878 -0.04616698 -0.6080186 -1.5646078 0.248094592 1.3269868



1) heatmap() function


: stat 패키지에 내장된 R의 기본 히트맵함수

: heatmap(x, scale = "row")

* x → 숫자 matrix

* scale → 숫자 값들을 row 혹은 column 방향으로 표준화 (Default 값은 row)

# 기본 히트맵 그리기 heatmap(df, scale = "none") # none은 scale 과정 수행 x

#높은 값은 Red 계열, 낮은 값은 Yellow 계열




2) heatmap.2() function


: gplots 패키지로 이전 heatmap() 보다 확장성이 늘어난 히트맵함수

# heatmap.2 히트맵 그리기 install.packages("gplots") library("gplots") heatmap.2(df, scale = "none", col = bluered(100), trace = "none", density.info = "none")




3) pheatmap() function


: pheatmap 패키지로 시각적으로 더 선명하고 깔끔해진 히트맵함수

# pheatmap 히트맵 그리기 install.packages('pheatmap') library("pheatmap") pheatmap(df, cutree_rows = 4)




4) d3heatmap() function


: d3heatmap 패키지로 Interactive하게 결과를 확인할 수 있는 히트맵함수

# d3heatmap 히트맵 그리기 install.packages('d3heatmap') library("d3heatmap") d3heatmap(scale(mtcars), colors = "RdYlBu", k_row = 4, # row 그룹의 숫자 k_col = 2 # column 그룹의 숫자 )






#Reference

1) https://www.datanovia.com/en/lessons/heatmap-in-r-static-and-interactive-visualization/





[R] Heatmap 시각화 End

BioinformaticsAndMe

'R' 카테고리의 다른 글

[R] Excel 읽기/쓰기  (0) 2019.11.05
[R] Merge  (0) 2019.10.30
[R] transform (데이터열생성 함수)  (0) 2019.10.17
[R] subset (데이터추출 함수)  (0) 2019.10.17
[R] p value 보정  (0) 2019.10.14

+ Recent posts