R Language
히트 맵 및 히트 맵 .2
수색…
공식 문서의 예
통계 :: heatmap
예제 1 (기본 사용법)
require(graphics); require(grDevices)
x <- as.matrix(mtcars)
rc <- rainbow(nrow(x), start = 0, end = .3)
cc <- rainbow(ncol(x), start = 0, end = .3)
hv <- heatmap(x, col = cm.colors(256), scale = "column",
RowSideColors = rc, ColSideColors = cc, margins = c(5,10),
xlab = "specification variables", ylab = "Car Models",
main = "heatmap(<Mtcars data>, ..., scale = \"column\")")
utils::str(hv) # the two re-ordering index vectors
# List of 4
# $ rowInd: int [1:32] 31 17 16 15 5 25 29 24 7 6 ...
# $ colInd: int [1:11] 2 9 8 11 6 5 10 7 1 4 ...
# $ Rowv : NULL
# $ Colv : NULL
예제 2 (열 덱 그림 (또는 순서 변경)이 전혀 없음)
heatmap(x, Colv = NA, col = cm.colors(256), scale = "column",
RowSideColors = rc, margins = c(5,10),
xlab = "specification variables", ylab = "Car Models",
main = "heatmap(<Mtcars data>, ..., scale = \"column\")")
예제 3 ( "아무 것도 없음")
heatmap(x, Rowv = NA, Colv = NA, scale = "column",
main = "heatmap(*, NA, NA) ~= image(t(x))")
예제 4 (reorder () 사용)
round(Ca <- cor(attitude), 2)
# rating complaints privileges learning raises critical advance
# rating 1.00 0.83 0.43 0.62 0.59 0.16 0.16
# complaints 0.83 1.00 0.56 0.60 0.67 0.19 0.22
# privileges 0.43 0.56 1.00 0.49 0.45 0.15 0.34
# learning 0.62 0.60 0.49 1.00 0.64 0.12 0.53
# raises 0.59 0.67 0.45 0.64 1.00 0.38 0.57
# critical 0.16 0.19 0.15 0.12 0.38 1.00 0.28
# advance 0.16 0.22 0.34 0.53 0.57 0.28 1.00
symnum(Ca) # simple graphic
# rt cm p l rs cr a
# rating 1
# complaints + 1
# privileges . . 1
# learning , . . 1
# raises . , . , 1
# critical . 1
# advance . . . 1
# attr(,"legend")
# [1] 0 ‘ ’ 0.3 ‘.’ 0.6 ‘,’ 0.8 ‘+’ 0.9 ‘*’ 0.95 ‘B’ 1
heatmap(Ca, symm = TRUE, margins = c(6,6))
예제 5 ( NO reorder ())
heatmap(Ca, Rowv = FALSE, symm = TRUE, margins = c(6,6))
예제 6 (색상 막대를 약간 인공으로, 주문하지 않음)
cc <- rainbow(nrow(Ca))
heatmap(Ca, Rowv = FALSE, symm = TRUE, RowSideColors = cc, ColSideColors = cc,
margins = c(6,6))
예제 7 (주문과 함께 컬러 바를 약간 인공으로)
heatmap(Ca, symm = TRUE, RowSideColors = cc, ColSideColors = cc,
margins = c(6,6))
예제 8 (변수 클러스터링의 경우 cor ()을 기반으로하는 거리 사용)
symnum( cU <- cor(USJudgeRatings) )
# CO I DM DI CF DE PR F O W PH R
# CONT 1
# INTG 1
# DMNR B 1
# DILG + + 1
# CFMG + + B 1
# DECI + + B B 1
# PREP + + B B B 1
# FAMI + + B * * B 1
# ORAL * * B B * B B 1
# WRIT * + B * * B B B 1
# PHYS , , + + + + + + + 1
# RTEN * * * * * B * B B * 1
# attr(,"legend")
# [1] 0 ‘ ’ 0.3 ‘.’ 0.6 ‘,’ 0.8 ‘+’ 0.9 ‘*’ 0.95 ‘B’ 1
hU <- heatmap(cU, Rowv = FALSE, symm = TRUE, col = topo.colors(16),
distfun = function(c) as.dist(1 - c), keep.dendro = TRUE)
## The Correlation matrix with same reordering:
round(100 * cU[hU[[1]], hU[[2]]])
# CONT INTG DMNR PHYS DILG CFMG DECI RTEN ORAL WRIT PREP FAMI
# CONT 100 -13 -15 5 1 14 9 -3 -1 -4 1 -3
# INTG -13 100 96 74 87 81 80 94 91 91 88 87
# DMNR -15 96 100 79 84 81 80 94 91 89 86 84
# PHYS 5 74 79 100 81 88 87 91 89 86 85 84
# DILG 1 87 84 81 100 96 96 93 95 96 98 96
# CFMG 14 81 81 88 96 100 98 93 95 94 96 94
# DECI 9 80 80 87 96 98 100 92 95 95 96 94
# RTEN -3 94 94 91 93 93 92 100 98 97 95 94
# ORAL -1 91 91 89 95 95 95 98 100 99 98 98
# WRIT -4 91 89 86 96 94 95 97 99 100 99 99
# PREP 1 88 86 85 98 96 96 95 98 99 100 99
# FAMI -3 87 84 84 96 94 94 94 98 99 99 100
## The column dendrogram:
utils::str(hU$Colv)
# --[dendrogram w/ 2 branches and 12 members at h = 1.15]
# |--leaf "CONT"
# `--[dendrogram w/ 2 branches and 11 members at h = 0.258]
# |--[dendrogram w/ 2 branches and 2 members at h = 0.0354]
# | |--leaf "INTG"
# | `--leaf "DMNR"
# `--[dendrogram w/ 2 branches and 9 members at h = 0.187]
# |--leaf "PHYS"
# `--[dendrogram w/ 2 branches and 8 members at h = 0.075]
# |--[dendrogram w/ 2 branches and 3 members at h = 0.0438]
# | |--leaf "DILG"
# | `--[dendrogram w/ 2 branches and 2 members at h = 0.0189]
# | |--leaf "CFMG"
# | `--leaf "DECI"
# `--[dendrogram w/ 2 branches and 5 members at h = 0.0584]
# |--leaf "RTEN"
# `--[dendrogram w/ 2 branches and 4 members at h = 0.0187]
# |--[dendrogram w/ 2 branches and 2 members at h = 0.00657]
# | |--leaf "ORAL"
# | `--leaf "WRIT"
# `--[dendrogram w/ 2 branches and 2 members at h = 0.0101]
# |--leaf "PREP"
# `--leaf "FAMI"
히트 맵에서 튜닝 파라미터 2
주어진:
x <- as.matrix(mtcars)
하나는 사용할 수 heatmap.2
의 최신 최적화 된 버전 - heatmap
다음 라이브러리를로드하여,
require(gplots)
heatmap.2(x)
히트 맵에 제목, x 또는 y 레이블을 추가하려면 main
, xlab
및 ylab
을 설정해야합니다.
heatmap.2(x, main = "My main title: Overview of car features", xlab="Car features", ylab = "Car brands")
히트 맵에 대해 자신 만의 색상 표를 정의하려면 colorRampPalette
함수를 사용하여 col
매개 변수를 설정할 수 있습니다.
heatmap.2(x, trace="none", key=TRUE, Colv=FALSE,dendrogram = "row",col = colorRampPalette(c("darkblue","white","darkred"))(100))
알 수 있듯이 y 축의 레이블 (자동차 이름)은 그림에 맞지 않습니다. 이 문제를 해결하기 위해 사용자는 margins
매개 변수를 조정할 수 있습니다.
heatmap.2(x, trace="none", key=TRUE,col = colorRampPalette(c("darkblue","white","darkred"))(100), margins=c(5,8))
또한 lhei
와 lwid
를 조정하여 히트 맵의 각 섹션 (키 히스토그램, 덴 드 그램 및 히트 맵 자체)의 크기를 변경할 수 있습니다.
행 (또는 열) 덴 드로 그램 만 표시하려면 Colv=FALSE
(또는 Rowv=FALSE
)를 설정하고 dendogram
매개 변수를 조정해야합니다.
heatmap.2(x, trace="none", key=TRUE, Colv=FALSE, dendrogram = "row", col = colorRampPalette(c("darkblue","white","darkred"))(100), margins=c(5,8), lwid = c(5,15), lhei = c(3,15))
범례 제목, 레이블 및 축의 글꼴 크기를 변경하려면 사용자는 par
목록에서 cex.main, cex.lab, cex.axis
를 설정해야합니다.
par(cex.main=1, cex.lab=0.7, cex.axis=0.7)
heatmap.2(x, trace="none", key=TRUE, Colv=FALSE, dendrogram = "row", col = colorRampPalette(c("darkblue","white","darkred"))(100), margins=c(5,8), lwid = c(5,15), lhei = c(5,15))
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow