정보
-
업무명 : 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)
[다음글]
[이전글]
참고 문헌
[논문]
- 없음
[보고서]
- 없음
[URL]
- 없음
문의사항
[기상학/프로그래밍 언어]
- sangho.lee.1990@gmail.com
[해양학/천문학/빅데이터]
- saimang0804@gmail.com
본 블로그는 파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음
'프로그래밍 언어 > R' 카테고리의 다른 글
[R] R을 이용한 통계 분석 및 데이터 시각화 : 그래프 범례 (0) | 2020.04.03 |
---|---|
[R] R을 이용한 통계 분석 및 데이터 시각화 : 그림으로 수식 표기 (2) | 2020.04.03 |
[R] R을 이용한 통계 분석 및 데이터 시각화 : 입체 산포도 (0) | 2020.04.03 |
[R] R을 이용한 통계 분석 및 데이터 시각화 : 산포도 (0) | 2020.04.03 |
[R] R을 이용한 통계 분석 및 데이터 시각화 : 2차 이상의 추세선 (0) | 2020.04.03 |
최근댓글