수색…


공식 문서의 예

통계 :: 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\")")

히트 맵 : 예 1

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\")")

히트 맵 : 예 2

예제 3 ( "아무 것도 없음")

heatmap(x, Rowv = NA, Colv = NA, scale = "column",
        main = "heatmap(*, NA, NA) ~= image(t(x))")

히트 맵 : 예 3

예제 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))

히트 맵 : 예 4

예제 5 ( NO reorder ())

heatmap(Ca, Rowv = FALSE, symm = TRUE, margins = c(6,6))

히트 맵 : 예 5

예제 6 (색상 막대를 약간 인공으로, 주문하지 않음)

cc <- rainbow(nrow(Ca))
heatmap(Ca, Rowv = FALSE, symm = TRUE, RowSideColors = cc, ColSideColors = cc,
    margins = c(6,6))

히트 맵 : 예 6

예제 7 (주문과 함께 컬러 바를 약간 인공으로)

heatmap(Ca,        symm = TRUE, RowSideColors = cc, ColSideColors = cc,
    margins = c(6,6))

히트 맵 : 예 7

예제 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)

히트 맵 : 예 8

## 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 , xlabylab 을 설정해야합니다.

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))

여기에 이미지 설명을 입력하십시오.

또한 lheilwid 를 조정하여 히트 맵의 각 섹션 (키 히스토그램, 덴 드 그램 및 히트 맵 자체)의 크기를 변경할 수 있습니다.

여기에 이미지 설명을 입력하십시오.

행 (또는 열) 덴 드로 그램 만 표시하려면 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